packages feed

haskell-src-exts 1.21.1 → 1.22.0

raw patch · 66 files changed

+34529/−31943 lines, 66 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Language.Haskell.Exts.Syntax: AppA :: l -> Name l -> [Type l] -> Asst l
- Language.Haskell.Exts.Syntax: ClassA :: l -> QName l -> [Type l] -> Asst l
- Language.Haskell.Exts.Syntax: EqualP :: l -> Type l -> Type l -> Asst l
- Language.Haskell.Exts.Syntax: InfixA :: l -> Type l -> QName l -> Type l -> Asst l
- Language.Haskell.Exts.Syntax: WildCardA :: l -> Maybe (Name l) -> Asst l
+ Language.Haskell.Exts: THTCloseQuote :: Token
+ Language.Haskell.Exts: THTExpQuote :: Token
+ Language.Haskell.Exts: THTIdEscape :: String -> Token
+ Language.Haskell.Exts: THTParenEscape :: Token
+ Language.Haskell.Exts.Extension: QuantifiedConstraints :: KnownExtension
+ Language.Haskell.Exts.Lexer: THTCloseQuote :: Token
+ Language.Haskell.Exts.Lexer: THTExpQuote :: Token
+ Language.Haskell.Exts.Lexer: THTIdEscape :: String -> Token
+ Language.Haskell.Exts.Lexer: THTParenEscape :: Token
+ Language.Haskell.Exts.Syntax: TExpBracket :: l -> Exp l -> Bracket l
+ Language.Haskell.Exts.Syntax: TIdSplice :: l -> String -> Splice l
+ Language.Haskell.Exts.Syntax: TParenSplice :: l -> Exp l -> Splice l
+ Language.Haskell.Exts.Syntax: TSpliceDecl :: l -> Exp l -> Decl l
+ Language.Haskell.Exts.Syntax: TypeA :: l -> Type l -> Asst l

Files

CHANGELOG view
@@ -1,3 +1,13 @@+1.21.1 --> 1.22.0+=================+* Support Template Haskell typed splices and quotations (#432)+  - Breaking change: new constructors on Token data type+* Fix unicode identifier parsing (#442)++1.21.0 --> 1.21.1+=================+* GHC 8.8.1 compatibility (MonadFail)+ 1.20.3 --> 1.21.0 ================= * DerivingVia (#420)
haskell-src-exts.cabal view
@@ -1,5 +1,5 @@ Name:                   haskell-src-exts-Version:                1.21.1+Version:                1.22.0 License:                BSD3 License-File:           LICENSE Build-Type:             Simple
src/Language/Haskell/Exts/ExactPrint.hs view
@@ -733,6 +733,7 @@             printStringAt (pos (last pts)) ")"          _ -> errorEP "ExactP: Decl: DefaultDecl is given too few srcInfoPoints"     SpliceDecl   _ spl  -> exactP spl+    TSpliceDecl  _ spl  -> exactP spl     TypeSig      l ns t -> do         let pts = srcInfoPoints l         printInterleaved' (zip pts (replicate (length pts - 1) "," ++ ["::"])) ns@@ -1171,9 +1172,7 @@  instance ExactP Asst where   exactP asst = case asst of-    ClassA _ qn ts -> exactP qn >> mapM_ exactPC ts-    AppA _ n ns       -> exactPC n >> mapM_ exactPC ns-    InfixA _ ta qn tb -> exactP ta >> epInfixQName qn >> exactPC tb+    TypeA _ t -> exactP t     IParam l ipn t    ->         case srcInfoPoints l of          [a] -> do@@ -1181,13 +1180,6 @@             printStringAt (pos a) "::"             exactPC t          _ -> errorEP "ExactP: Asst: IParam is given wrong number of srcInfoPoints"-    EqualP l t1 t2  ->-        case srcInfoPoints l of-         [a] -> do-            exactP t1-            printStringAt (pos a) "~"-            exactPC t2-         _ -> internalError "Asst -> EqualP"     ParenA l asst' ->         case take 2 $ srcInfoPoints l of          [a,b] -> do@@ -1195,7 +1187,6 @@             exactPC asst'             printStringAt (pos b) ")"          _ -> errorEP "ExactP: Asst: ParenA is given wrong number of srcInfoPoints"-    WildCardA _ mn -> printString "_" >> maybeEP exactPC mn  instance ExactP Deriving where   exactP (Deriving l mds ihs) =@@ -1379,13 +1370,18 @@  instance ExactP Splice where   exactP (IdSplice _ str) = printString $ '$':str-  exactP (ParenSplice l e) =+  exactP (TIdSplice _ str) = printString $ "$$" ++ str+  exactP (ParenSplice l e) = printParen "ParenSplice" "$(" l e+  exactP (TParenSplice l e) = printParen "TParenSplice" "$$(" l e++printParen :: ExactP ast => String -> String -> SrcSpanInfo -> ast SrcSpanInfo -> EP ()+printParen con paren l e =     case srcInfoPoints l of      [_,b] -> do-        printString "$("+        printString paren         exactPC e         printStringAt (pos b) ")"-     _ -> errorEP "ExactP: Splice: ParenSplice is given wrong number of srcInfoPoints"+     _ -> errorEP $ "ExactP: Splice: " ++ con ++ " is given wrong number of srcInfoPoints"  instance ExactP Exp where   exactP exp = case exp of@@ -1810,27 +1806,10 @@  instance ExactP Bracket where   exactP br = case br of-    ExpBracket l e  ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "[|"-            exactPC e-            printStringAt (pos b) "|]"-         _ -> errorEP "ExactP: Bracket: ExpBracket is given wrong number of srcInfoPoints"-    PatBracket l p  ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "[p|"-            exactPC p-            printStringAt (pos b) "|]"-         _ -> errorEP "ExactP: Bracket: PatBracket is given wrong number of srcInfoPoints"-    TypeBracket l t  ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "[t|"-            exactPC t-            printStringAt (pos b) "|]"-         _ -> errorEP "ExactP: Bracket: TypeBracket is given wrong number of srcInfoPoints"+    ExpBracket l e  -> printBracket "ExpBracket" "[|" "|]" l e+    TExpBracket l e -> printBracket "TExpBracket" "[||" "||]" l e+    PatBracket l p  -> printBracket "PatBracket" "[p|" "|]" l p+    TypeBracket l t -> printBracket "TypeBracket" "[t|" "|]" l t     DeclBracket l ds ->         case srcInfoPoints l of          pts@(_:_) -> do@@ -1838,6 +1817,15 @@             layoutList (init pts) (sepFunBinds ds)             printStringAt (pos (last pts)) "|]"          _ -> errorEP "ExactP: Bracket: DeclBracket is given too few srcInfoPoints"++printBracket :: ExactP ast => String -> String -> String -> SrcSpanInfo -> ast SrcSpanInfo -> EP ()+printBracket con oBracket cBracket l c =+  case srcInfoPoints l of+    [_,b] -> do+      printString oBracket+      exactPC c+      printStringAt (pos b) cBracket+    _ -> errorEP $ "ExactP: Bracket: " ++ con ++ " is given wrong number of srcInfoPoints"  instance ExactP XAttr where   exactP (XAttr l xn e) =
src/Language/Haskell/Exts/Extension.hs view
@@ -556,6 +556,8 @@   -- Implies 'DerivingStrategies'.   | DerivingVia +  | QuantifiedConstraints+   deriving (Show, Read, Eq, Ord, Enum, Bounded, Data, Typeable)  -- | Certain extensions imply other extensions, and this function
src/Language/Haskell/Exts/InternalLexer.hs view
@@ -102,12 +102,16 @@  -- Template Haskell         | THExpQuote            -- [| or [e|+        | THTExpQuote           -- [|| or [e||         | THPatQuote            -- [p|         | THDecQuote            -- [d|         | THTypQuote            -- [t|         | THCloseQuote          -- |]+        | THTCloseQuote         -- ||]         | THIdEscape (String)   -- dollar x         | THParenEscape         -- dollar (+        | THTIdEscape String    -- dollar dollar x+        | THTParenEscape        -- double dollar (         | THVarQuote            -- 'x (but without the x)         | THTyQuote             -- ''T (but without the T)         | THQuasiQuote (String,String)  -- [$...|...]@@ -365,6 +369,10 @@  isPragmaChar c = isAlphaNum c || c == '_' +isIdentStart :: Char -> Bool+isIdentStart c = isAlpha c && not (isUpper c) || c == '_'++ -- Used in the lexing of type applications -- Why is it like this? I don't know exactly but this is how it is in -- GHC's parser.@@ -665,12 +673,12 @@                         return (con (n, '0':c:str))          -- implicit parameters-        '?':c:_ | isLower c && ImplicitParams `elem` exts -> do+        '?':c:_ | isIdentStart c && ImplicitParams `elem` exts -> do                         discard 1                         id <- lexWhile isIdent                         return $ IDupVarId id -        '%':c:_ | isLower c && ImplicitParams `elem` exts -> do+        '%':c:_ | isIdentStart c && ImplicitParams `elem` exts -> do                         discard 1                         id <- lexWhile isIdent                         return $ ILinVarId id@@ -689,7 +697,16 @@                      do discard 2                         return RPCAt -} +         -- template haskell+        '[':'|':'|':_ | TemplateHaskell `elem` exts -> do+                discard 3+                return THTExpQuote++        '[':'e':'|':'|':_ | TemplateHaskell `elem` exts -> do+                discard 4+                return THTExpQuote+         '[':'|':_ | TemplateHaskell `elem` exts -> do                 discard 2                 return THExpQuote@@ -706,25 +723,35 @@                     | c == 't' && TemplateHaskell `elem` exts -> do                         discard 3                         return THTypQuote-        '[':'$':c:_ | isLower c && QuasiQuotes `elem` exts ->+        '[':'$':c:_ | isIdentStart c && QuasiQuotes `elem` exts ->                         discard 2 >> lexQuasiQuote c -        '[':c:s' | isLower c && QuasiQuotes `elem` exts && case dropWhile isIdent s' of { '|':_ -> True;_->False} ->+        '[':c:s' | isIdentStart c && QuasiQuotes `elem` exts && case dropWhile isIdent s' of { '|':_ -> True;_->False} ->                         discard 1 >> lexQuasiQuote c                  | isUpper c && QuasiQuotes `elem` exts && case dropWhile isPossiblyQvar s' of { '|':_ -> True;_->False} ->                         discard 1 >> lexQuasiQuote c +        '|':'|':']':_ | TemplateHaskell `elem` exts -> do+                        discard 3+                        return THTCloseQuote         '|':']':_ | TemplateHaskell `elem` exts -> do                         discard 2                         return THCloseQuote -        '$':c:_ | isLower c && TemplateHaskell `elem` exts -> do+        '$':c1:c2:_ | isIdentStart c1 && TemplateHaskell `elem` exts -> do                         discard 1                         id <- lexWhile isIdent                         return $ THIdEscape id-                | c == '(' && TemplateHaskell `elem` exts -> do+                    | c1 == '(' && TemplateHaskell `elem` exts -> do                         discard 2                         return THParenEscape+                    | c1 == '$' && isIdentStart c2 && TemplateHaskell `elem` exts -> do+                        discard 2+                        id <- lexWhile isIdent+                        return $ THTIdEscape id+                    | c1 == '$' && c2 == '(' && TemplateHaskell `elem` exts -> do+                        discard 3+                        return THTParenEscape         -- end template haskell          -- hsx@@ -769,7 +796,7 @@                                                   else discard 1 >> return TApp          '#':c:_ | OverloadedLabels `elem` exts-                   && isLower c || c == '_' -> do+                   && isIdentStart c -> do                                                   discard 1                                                   [ident] <- lexIdents                                                   return $ LabelVarId ident@@ -779,7 +806,7 @@              | isUpper c -> lexConIdOrQual "" -            | isLower c || c == '_' -> do+            | isIdentStart c -> do                     idents <- lexIdents                     case idents of                      [ident] -> case lookup ident (reserved_ids ++ special_varids) of@@ -854,7 +881,7 @@                 body <- lexQQBody                 return $ THQuasiQuote (ident, body)                   where lexQuoter-                         | isLower c = lexWhile isIdent+                         | isIdentStart c = lexWhile isIdent                          | otherwise = do                             qualThing <- lexConIdOrQual ""                             case qualThing of@@ -1051,7 +1078,7 @@         exts <- getExtensionsL         case rest of           '.':c:_-             | isLower c || c == '_' -> do  -- qualified varid?+             | isIdentStart c -> do  -- qualified varid?                     discard 1                     ident <- lexWhile isIdent                     s <- getInput@@ -1349,12 +1376,16 @@   LeftDblArrowTail  -> "-<<"   RightDblArrowTail -> ">>-"   THExpQuote        -> "[|"+  THTExpQuote       -> "[||"   THPatQuote        -> "[p|"   THDecQuote        -> "[d|"   THTypQuote        -> "[t|"   THCloseQuote      -> "|]"+  THTCloseQuote     -> "||]"   THIdEscape s      -> '$':s   THParenEscape     -> "$("+  THTIdEscape s     -> "$$" ++ s+  THTParenEscape    -> "$$("   THVarQuote        -> "'"   THTyQuote         -> "''"   THQuasiQuote (n,q) -> "[$" ++ n ++ "|" ++ q ++ "]"
src/Language/Haskell/Exts/InternalParser.ly view
@@ -94,13 +94,13 @@         might be the start of the declaration with the activation being         empty. Resolving with shift means the declaration cannot start with '['. -1 for ambiguity in '{-# RULES "name" forall = ... #-}' 	[State 544]-	since 'forall' is a valid variable name, we don't know whether-	to treat a forall on the input as the beginning of a quantifier-	or the beginning of the rule itself.  Resolving to shift means-	it's always treated as a quantifier, hence the above is disallowed.-	This saves explicitly defining a grammar for the rule lhs that-	doesn't include 'forall'.+1 for ambiguity in '{-# RULES "name" forall = ... #-}'  [State 544]+        since 'forall' is a valid variable name, we don't know whether+        to treat a forall on the input as the beginning of a quantifier+        or the beginning of the rule itself.  Resolving to shift means+        it's always treated as a quantifier, hence the above is disallowed.+        This saves explicitly defining a grammar for the rule lhs that+        doesn't include 'forall'.  ----------------------------------------------------------------------------- @@ -182,12 +182,16 @@ Template Haskell  >       IDSPLICE        { Loc _ (THIdEscape _) }   -- $x+>       TIDSPLICE       { Loc _ (THTIdEscape _) }  -- $$x >       '$('            { Loc $$ THParenEscape } -- 60+>       '$$('           { Loc $$ THTParenEscape } >       '[|'            { Loc $$ THExpQuote }+>       '[||'           { Loc $$ THTExpQuote } >       '[p|'           { Loc $$ THPatQuote } >       '[t|'           { Loc $$ THTypQuote } >       '[d|'           { Loc $$ THDecQuote } >       '|]'            { Loc $$ THCloseQuote }+>       '||]'           { Loc $$ THTCloseQuote } >       VARQUOTE        { Loc $$ THVarQuote }      -- 'x >       TYPQUOTE        { Loc $$ THTyQuote }       -- ''T >       QUASIQUOTE      { Loc _ (THQuasiQuote _) }@@ -666,6 +670,7 @@ >                  }         | '$(' trueexp ')'  { let l = $1 <^^> $3 <** [$1,$3] in SpliceDecl l $ ParenSplice l $2 }+       | '$$(' trueexp ')' { let l = $1 <^^> $3 <** [$1,$3] in TSpliceDecl l $ TParenSplice l $2 }  These require the ForeignFunctionInterface extension, handled by the lexer through the 'foreign' (and 'export') keyword.@@ -1000,7 +1005,9 @@ >       | '(' ctype_(ostar,kstar) ')'                   { TyParen ($1 <^^> $3 <** [$1,$3]) $2 } >       | '(' ctype_(ostar,kstar) '::' kind ')'         { TyKind  ($1 <^^> $5 <** [$1,$3,$5]) $2 $4 } >       | '$(' trueexp ')'              { let l = ($1 <^^> $3 <** [$1,$3]) in TySplice l $ ParenSplice l $2 }+>       | '$$(' trueexp ')'             { let l = ($1 <^^> $3 <** [$1,$3]) in TySplice l $ TParenSplice l $2 } >       | IDSPLICE                      { let Loc l (THIdEscape s) = $1 in TySplice (nIS l) $ IdSplice (nIS l) s }+>       | TIDSPLICE                     { let Loc l (THTIdEscape s) = $1 in TySplice (nIS l) $ TIdSplice (nIS l) s } >       | '_'                           { TyWildCard (nIS $1) Nothing } >       | QUASIQUOTE                    { let Loc l (THQuasiQuote (n,q)) = $1 in TyQuasiQuote (nIS l) n q } >       | ptype_(ostar,kstar)           { % checkEnabled DataKinds >> return (TyPromoted (ann $1) $1) }@@ -1251,7 +1258,7 @@ >       : kind1                 {% checkEnabled KindSignatures >> return $1 }  > kind1 :: { Kind L }->       : dtype_(NEVER,'*')     {% checkType $1 }+>       : ctype_(NEVER,'*')     {% checkType $1 }  > optkind :: { (Maybe (Kind L), [S]) } >       : {-empty-}             { (Nothing,[]) }@@ -1436,12 +1443,12 @@ >       | exppragma                       { $1 }  > optlayoutsemi :: { [S] }-> 	: ';'				  {% checkEnabled DoAndIfThenElse >> return [$1] }+>       : ';'				  {% checkEnabled DoAndIfThenElse >> return [$1] } >	| {- empty -}			  { [] }  We won't come here unless XmlSyntax is already checked. > opthsxsemi :: { [S] }-> 	: ';'				  { [$1] }+>       : ';'				  { [$1] } >	| {- empty -}			  { [] }  @@ -1538,8 +1545,11 @@  Template Haskell - all this is enabled in the lexer. >       | IDSPLICE                      { let Loc l (THIdEscape s) = $1 in SpliceExp (nIS l) $ IdSplice (nIS l) s }+>       | TIDSPLICE                     { let Loc l (THTIdEscape s) = $1 in SpliceExp (nIS l) $ TIdSplice (nIS l) s } >       | '$(' trueexp ')'              { let l = ($1 <^^> $3 <** [$1,$3]) in SpliceExp l $ ParenSplice l $2 }+>       | '$$(' trueexp ')'             { let l = ($1 <^^> $3 <** [$1,$3]) in SpliceExp l $ TParenSplice l $2 } >       | '[|' trueexp '|]'             { let l = ($1 <^^> $3 <** [$1,$3]) in BracketExp l $ ExpBracket l $2 }+>       | '[||' trueexp '||]'           { let l = ($1 <^^> $3 <** [$1,$3]) in BracketExp l $ TExpBracket l $2 } >       | '[p|' exp0 '|]'               {% do { p <- checkPattern $2; >                                               let {l = ($1 <^^> $3 <** [$1,$3]) }; >                                               return $ BracketExp l $ PatBracket l p } }@@ -1996,8 +2006,8 @@ >       | 'unsafe'              { unsafe_name     (nIS $1) } >       | 'interruptible'       { interruptible_name (nIS $1) } >       | 'threadsafe'          { threadsafe_name (nIS $1) }->	      | 'forall'		          { forall_name	  (nIS $1) }->	      | 'family'		          { family_name     (nIS $1) }+>	      | 'forall'                          { forall_name	  (nIS $1) }+>	      | 'family'                          { family_name     (nIS $1) } >       | 'role'                { role_name  (nIS $1) }  @@ -2188,8 +2198,8 @@ >       | 'safe'                { safe_name       (nIS $1) } >       | 'unsafe'              { unsafe_name     (nIS $1) } >       | 'threadsafe'          { threadsafe_name (nIS $1) }-	| 'forall'		{ forall_name	  (nIS $1) }-	| 'family'		{ family_name     (nIS $1) }+        | 'forall'		{ forall_name	  (nIS $1) }+        | 'family'		{ family_name     (nIS $1) }  > qtyvarop_(ostar) :: { QName L } > qtyvarop_ : '`' tyvar '`'     { UnQual ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }
src/Language/Haskell/Exts/ParseSyntax.hs view
@@ -314,6 +314,7 @@      | TyInfix l (PType l) (MaybePromotedName l) (PType l)  -- ^ infix type constructor      | TyKind  l (PType l) (Kind l)             -- ^ type with explicit kind signature      | TyPromoted l (S.Promoted l)              -- ^ promoted data type+     | TyEquals l (PType l) (PType l)           -- ^ type equality constraint      | TySplice l (Splice l)                    -- ^ template haskell splice type      | TyBang l (BangType l) (Unpackedness l) (PType l) -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.      | TyWildCard l (Maybe (Name l))            -- ^ Type wildcard@@ -336,6 +337,7 @@       TyInfix l _ _ _               -> l       TyKind  l _ _                 -> l       TyPromoted l   _              -> l+      TyEquals l _ _                 -> l       TyPred l _                    -> l       TySplice l _                  -> l       TyBang  l _ _ _                 -> l@@ -356,6 +358,7 @@       TyInfix l ta qn tb            -> TyInfix (f l) ta qn tb       TyKind  l t k                 -> TyKind (f l) t k       TyPromoted l   p              -> TyPromoted (f l)   p+      TyEquals l t1 t2              -> TyEquals (f l) t1 t2       TyPred l asst                 -> TyPred (f l) asst       TySplice l s                  -> TySplice (f l) s       TyBang  l b u t                 -> TyBang (f l) b u t@@ -363,29 +366,17 @@       TyQuasiQuote l n s            -> TyQuasiQuote (f l) n s  data PAsst l-    = ClassA l (QName l) [PType l]-    | AppA l (Name l) [PType l]-    | InfixA l (PType l) (QName l) (PType l)+    = TypeA l (PType l)     | IParam l (IPName l) (PType l)-    | EqualP l (PType l)  (PType l)     | ParenA l (PAsst l)-    | WildCardA l (Maybe (Name l))   deriving (Eq, Show, Functor)  instance Annotated PAsst where     ann asst = case asst of-        ClassA l _ _        -> l-        AppA l _ _          -> l-        InfixA l _ _ _      -> l+        TypeA l _           -> l         IParam l _ _        -> l-        EqualP l _ _        -> l         ParenA l _          -> l-        WildCardA l _       -> l     amap f asst = case asst of-        ClassA l qn ts      -> ClassA (f l) qn ts-        AppA l t ts         -> AppA (f l) t ts-        InfixA l ta qn tb   -> InfixA (f l) ta qn tb+        TypeA l t           -> TypeA (f l) t         IParam l ipn t      -> IParam (f l) ipn t-        EqualP l t1 t2      -> EqualP (f l) t1 t2         ParenA l a          -> ParenA (f l) a-        WildCardA l mn      -> WildCardA (f l) mn
src/Language/Haskell/Exts/ParseUtils.hs view
@@ -98,7 +98,7 @@ import Control.Monad (when,unless)  #if __GLASGOW_HASKELL__ < 710-import Control.Applicative (Applicative (..), (<$>))+import Control.Applicative ((<$>)) #endif  type L = SrcSpanInfo@@ -177,9 +177,9 @@ checkPContext (TyParen l t) = do     c <- checkAssertion t     return $ CxSingle l (ParenA l c)-checkPContext (TyPred tp p@(EqualP {})) = do+checkPContext t@(TyEquals tp _ _) = do   checkEnabledOneOf [TypeFamilies, GADTs]-  return $ CxSingle tp p+  return $ CxSingle tp $ TypeA tp t  checkPContext t = do     c <- checkAssertion t@@ -194,33 +194,46 @@ checkAssertion (TyParen l asst) = do     asst' <- checkAssertion asst     return $ ParenA l asst'-checkAssertion (TyPred _ p@(IParam _ _ _)) = return p+checkAssertion (TyPred _ p) = checkAAssertion p -- We cannot even get here unless TypeFamilies or GADTs is enabled. -- N.B.: this is called only when the equality assertion is part of a -- tuple-checkAssertion (TyPred _ p@(EqualP _ _ _)) = return p-checkAssertion t' = checkAssertion' id [] t'+checkAssertion t' = do+        t'' <- checkAssertion' id [] t'+        return $ TypeA (ann t'') t''     where   -- class assertions must have at least one argument+            checkAssertion' _ _ t@(TyEquals _ _ _) = return t             checkAssertion' fl ts (TyCon l c) = do                 when (length ts < 1) $ checkEnabled FlexibleContexts                 checkAndWarnTypeOperators c-                return $ ClassA (fl l) c ts+                return $ tyApps (fl l) (TyCon (fl l) c) ts             checkAssertion' fl ts (TyApp l a t) =                 -- no check on t at this stage                 checkAssertion' (const (fl l)) (t:ts) a             checkAssertion' fl _ (TyInfix l a op b) = do                 -- infix operators require TypeOperators                 checkAndWarnTypeOperators (getMaybePromotedQName op)-                return $ InfixA (fl l) a (getMaybePromotedQName op) b+                return $ TyInfix (fl l) a op b             checkAssertion' fl ts (TyParen l t) =                 checkAssertion' (const (fl l)) ts t             checkAssertion' fl ts (TyVar l t) = do -- Dict :: cxt => Dict cxt                 checkEnabled ConstraintKinds-                return $ AppA (fl l) t ts-            checkAssertion' _ _ (TyWildCard l wc) =-                return $ WildCardA l wc-            checkAssertion' _ _ _ = fail "Illegal class assertion"+                return $ tyApps (fl l) (TyVar (fl l) t) ts+            checkAssertion' _ _ t@(TyWildCard _ _) = return t+            checkAssertion' _ _ t = do+                checkEnabled QuantifiedConstraints -- anything goes+                return t+            tyApps :: L -> PType L -> [PType L] -> PType L+            tyApps _ c [] = c+            tyApps l c (a:aa) = tyApps l (TyApp l c a) aa +checkAAssertion :: PAsst L -> P (PAsst L)+checkAAssertion (TypeA _ t) = checkAssertion t+checkAAssertion (ParenA l a) = do+    a' <- checkAAssertion a+    return $ ParenA l a'+checkAAssertion p = return p+ -- Check class/instance declaration for multiparams checkMultiParam :: PType L -> P () checkMultiParam = checkMultiParam' []@@ -252,8 +265,8 @@ checkSContext :: Maybe (PContext L) -> P (Maybe (S.Context L)) checkSContext (Just ctxt) = case ctxt of     CxEmpty l -> return $ Just $ S.CxEmpty l-    CxSingle l a -> checkAsst True a >>= return . Just . S.CxSingle l-    CxTuple l as -> mapM (checkAsst True) as >>= return . Just . S.CxTuple l+    CxSingle l a -> checkAsst a >>= return . Just . S.CxSingle l+    CxTuple l as -> mapM checkAsst as >>= return . Just . S.CxTuple l checkSContext _ = return Nothing  -- Checks ordinary contexts for sigtypes and data type@@ -263,52 +276,23 @@ checkContext :: Maybe (PContext L) -> P (Maybe (S.Context L)) checkContext (Just ctxt) = case ctxt of     CxEmpty l -> return $ Just $ S.CxEmpty l-    CxSingle l a -> checkAsst False a >>= return . Just . S.CxSingle l-    CxTuple l as -> mapM (checkAsst False) as >>= return . Just . S.CxTuple l+    CxSingle l a -> checkAsst a >>= return . Just . S.CxSingle l+    CxTuple l as -> mapM checkAsst as >>= return . Just . S.CxTuple l checkContext _ = return Nothing -checkAsst :: Bool -> PAsst L -> P (S.Asst L)-checkAsst isSimple asst =+checkAsst :: PAsst L -> P (S.Asst L)+checkAsst asst =     case asst of-      ClassA l qn pts -> do-                ts <- mapM (checkAsstParam isSimple) pts-                return $ S.ClassA l qn ts-      AppA l n pts    -> do-                ts <- mapM (checkAsstParam isSimple) pts-                return $ S.AppA l n ts-      InfixA l a op b -> do-                [a',b'] <- mapM (checkAsstParam isSimple) [a,b]-                return $ S.InfixA l a' op b'+      TypeA l pt -> do+                t <- checkType pt+                return $ S.TypeA l t       IParam l ipn pt -> do                 t <- checkType pt                 return $ S.IParam l ipn t-      EqualP l pa pb  -> do-                a <- checkType pa-                b <- checkType pb-                return $ S.EqualP l a b       ParenA l a      -> do-                a' <- checkAsst isSimple a+                a' <- checkAsst a                 return $ S.ParenA l a'-      WildCardA l a ->-        if isSimple then fail "Malformed Context: WildCards not allowed in simple contexts"-                    else return $ S.WildCardA l a -checkAsstParam :: Bool -> PType L -> P (S.Type L)-checkAsstParam isSimple t = do-        exts <- getExtensions-        if FlexibleContexts `elem` exts-         then checkType t-         else case t of-                TyVar l n     -> return $ S.TyVar l n-                TyWildCard l mn ->  return $ S.TyWildCard l mn-                TyParen l t1  -> do t1' <- checkAsstParam isSimple t1-                                    return $ S.TyParen l t1'-                TyApp l pf pt | not isSimple    -> do-                        f <- checkAsstParam isSimple pf-                        t' <- checkType pt-                        return $ S.TyApp l f t'-                _       -> fail "Malformed context: FlexibleContexts is not enabled"- ----------------------------------------------------------------------------- -- Checking Headers @@ -1125,14 +1109,8 @@                            >> check2Types at bt (flip (S.TyInfix l) op)     TyKind  l pt k    -> check1Type pt (flip (S.TyKind l) k) -     -- TyPred can be a valid type if ConstraintKinds is enabled, unless it is an implicit parameter, which is not a valid type-    TyPred _ (ClassA l className cvars) -> mapM checkType cvars >>= \vars -> return (foldl1 (S.TyApp l) (S.TyCon l className:vars))-    TyPred _ (InfixA l t0 op t1)        -> S.TyInfix l <$> checkType t0 <*> pure (UnpromotedName (ann op) op) <*> checkType t1-    TyPred _ (EqualP l t0    t1)        -> do-      checkEnabledOneOf [TypeFamilies, GADTs]-      S.TyEquals l <$> checkType t0 <*> checkType t1-     TyPromoted l p -> return $ S.TyPromoted l p -- ??+    TyEquals l at bt   -> check2Types at bt (S.TyEquals l)     TySplice l s        -> do                               checkEnabled TemplateHaskell                               return $ S.TySplice l s@@ -1287,11 +1265,11 @@ splitTilde t = go t   where go (TyApp loc t1 t2)           | TyBang _ (LazyTy eqloc) (NoUnpackPragma _) t2' <- t2-          = TyPred loc (EqualP (loc <** [srcInfoSpan eqloc]) (go t1) t2')+          = TyEquals (loc <** [srcInfoSpan eqloc]) (go t1) t2'           | otherwise           = case go t1 of-              (TyPred _ (EqualP eqloc tl tr)) ->-                TyPred loc (EqualP (eqloc <++> ann t2 <** srcInfoPoints eqloc) tl (TyApp (ann tr <++> ann t2) tr t2))+              TyEquals eqloc tl tr ->+                TyEquals (eqloc <++> ann t2 <** srcInfoPoints eqloc) tl (TyApp (ann tr <++> ann t2) tr t2)               t' -> TyApp loc t' t2          go t' = t'
src/Language/Haskell/Exts/Pretty.hs view
@@ -480,6 +480,9 @@         pretty (SpliceDecl _ splice) =                 pretty splice +        pretty (TSpliceDecl _ splice) =+                pretty splice+         pretty (TypeSig _ nameList qualType) =                 mySep ((punctuate comma . map pretty $ nameList)                       ++ [text "::", pretty qualType])@@ -869,7 +872,6 @@         prettyPrec _ (TyVar _ name) = pretty name         prettyPrec _ (TyCon _ name) = pretty name         prettyPrec _ (TyParen _ t) = parens (pretty t)---        prettyPrec _ (TyPred asst) = pretty asst         prettyPrec _ (TyInfix _ a op b) = myFsep [pretty a, pretty op, pretty b]         prettyPrec _ (TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])         prettyPrec _ (TyPromoted _ p) = pretty p@@ -1110,6 +1112,7 @@  instance  Pretty (Bracket l) where         pretty (ExpBracket _ e) = ppBracket "[|" e+        pretty (TExpBracket _ e) = myFsep [text "[||", pretty e, text "||]"]         pretty (PatBracket _ p) = ppBracket "[p|" p         pretty (TypeBracket _ t) = ppBracket "[t|" t         pretty (DeclBracket _ d) =@@ -1120,6 +1123,9 @@  instance  Pretty (Splice l) where         pretty (IdSplice _ s) = char '$' <> text s+        pretty (TIdSplice _ s) = char '$' <> char '$' <> text s+        pretty (TParenSplice _ e) =+                myFsep [text "$$(", pretty e, char ')']         pretty (ParenSplice _ e) =                 myFsep [text "$(", pretty e, char ')'] @@ -1347,15 +1353,10 @@   pretty (CxSingle _ ctxt)  = pretty ctxt <+> text "=>"   pretty (CxTuple _ context) = mySep [parenList (map pretty context), text "=>"] --- hacked for multi-parameter type classes instance  Pretty (Asst l) where-        pretty (ClassA _ a ts)   = myFsep $ pretty a : map ppAType ts-        pretty (AppA _ n ns)     = myFsep $ pretty n : map pretty ns-        pretty (InfixA _ a op b) = myFsep [pretty a, ppQNameInfix op, pretty b]+        pretty (TypeA _ t)       = pretty t         pretty (IParam _ i t)    = myFsep [pretty i, text "::", pretty t]-        pretty (EqualP _ t1 t2)  = myFsep [pretty t1, text "~", pretty t2]         pretty (ParenA _ a)      = parens (pretty a)-        pretty (WildCardA _ mn)  = char  '_' <> maybePP pretty mn  -- Pretty print a source location, useful for printing out error messages instance Pretty SrcLoc where@@ -1666,13 +1667,9 @@         pretty (P.CxTuple _ assts) = myFsep [parenList (map pretty assts), text "=>"]  instance SrcInfo loc => Pretty (P.PAsst loc) where-        pretty (P.ClassA _ a ts)   = myFsep $ pretty ( a) : map (prettyPrec prec_atype) ts-        pretty (P.AppA _ n ns)     = myFsep $ pretty n : map (prettyPrec prec_atype) ns-        pretty (P.InfixA _ a op b) = myFsep [pretty a, ppQNameInfix op, pretty b]+        pretty (P.TypeA _ t)       = pretty t         pretty (P.IParam _ i t)    = myFsep [pretty i, text "::", pretty t]-        pretty (P.EqualP _ t1 t2)  = myFsep [pretty t1, text "~", pretty t2]         pretty (P.ParenA _ a)      = parens (pretty a)-        pretty (P.WildCardA _ mn)  = char '_' <> maybePP pretty mn  instance SrcInfo loc => Pretty (P.PType loc) where         prettyPrec p (P.TyForall _ mtvs ctxt htype) = parensIf (p > 0) $@@ -1701,6 +1698,7 @@         prettyPrec _ (P.TyInfix _ a op b) = myFsep [pretty a, pretty op, pretty b]         prettyPrec _ (P.TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])         prettyPrec _ (P.TyPromoted _ p) = pretty p+        prettyPrec _ (P.TyEquals _ a b) = myFsep [pretty a, text "~", pretty b]         prettyPrec _ (P.TySplice _ s) = pretty s         prettyPrec _ (P.TyBang _ b u t) = pretty u <+> pretty b <> prettyPrec prec_atype t         prettyPrec _ (P.TyWildCard _ mn) = char '_' <> maybePP pretty mn
src/Language/Haskell/Exts/Syntax.hs view
@@ -299,6 +299,8 @@      -- ^ A declaration of default types      | SpliceDecl   l (Exp l)      -- ^ A Template Haskell splicing declaration+     | TSpliceDecl  l (Exp l)+     -- ^ A typed Template Haskell splicing declaration      | TypeSig      l [Name l] (Type l)      -- ^ A type signature declaration      | PatSynSig    l [Name l] (Maybe [TyVarBind l]) (Maybe (Context l))@@ -692,17 +694,10 @@   deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)  -- | Class assertions.---   In Haskell 98, the argument would be a /tyvar/, but this definition---   allows multiple parameters, and allows them to be /type/s.---   Also extended with support for implicit parameters and equality constraints. data Asst l-        = ClassA l (QName l) [Type l]           -- ^ ordinary class assertion-        | AppA l (Name l) [Type l]              -- ^ constraint kind assertion, @Dict :: cxt a => Dict cxt@-        | InfixA l (Type l) (QName l) (Type l)  -- ^ class assertion where the class name is given infix+        = TypeA l (Type l)                      -- ^ type assertion         | IParam l (IPName l) (Type l)          -- ^ implicit parameter assertion-        | EqualP l (Type l) (Type l)            -- ^ type equality constraint         | ParenA l (Asst l)                     -- ^ parenthesised class assertion-        | WildCardA l (Maybe (Name l))          -- ^ Context Wildcard   deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)  -- | /literal/@@ -825,6 +820,7 @@ -- | A template haskell bracket expression. data Bracket l     = ExpBracket l (Exp l)        -- ^ expression bracket: @[| ... |]@+    | TExpBracket l (Exp l)       -- ^ typed expression bracket: @[|| ... ||]@     | PatBracket l (Pat l)        -- ^ pattern bracket: @[p| ... |]@     | TypeBracket l (Type l)      -- ^ type bracket: @[t| ... |]@     | DeclBracket l [Decl l]      -- ^ declaration bracket: @[d| ... |]@@@ -833,7 +829,9 @@ -- | A template haskell splice expression data Splice l     = IdSplice l String           -- ^ variable splice: @$var@+    | TIdSplice l String          -- ^ typed variable splice: @$$var@     | ParenSplice l (Exp l)       -- ^ parenthesised expression splice: @$(/exp/)@+    | TParenSplice l (Exp l)      -- ^ parenthesised typed expression splice: @$$(/exp/)@   deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)  -- | The safety of a foreign function call.@@ -1290,6 +1288,7 @@         InfixDecl    l _ _ _            -> l         DefaultDecl  l _                -> l         SpliceDecl   l _                -> l+        TSpliceDecl  l _                -> l         TypeSig      l _ _              -> l         PatSynSig    l _ _ _ _ _ _      -> l         FunBind      l _                -> l@@ -1327,6 +1326,7 @@         InfixDecl    l a k ops           -> InfixDecl (f l) a k ops         DefaultDecl  l ts                -> DefaultDecl (f l) ts         SpliceDecl   l sp                -> SpliceDecl (f l) sp+        TSpliceDecl  l sp                -> TSpliceDecl (f l) sp         TypeSig      l ns t              -> TypeSig (f l) ns t         PatSynSig    l n dh c1 dh2 c2 t      -> PatSynSig (f l) n dh c1 dh2 c2 t         FunBind      l ms                -> FunBind (f l) ms@@ -1568,21 +1568,13 @@  instance Annotated Asst where     ann asst = case asst of-        ClassA l _ _     -> l-        AppA l _ _       -> l-        InfixA l _ _ _   -> l+        TypeA l _        -> l         IParam l _ _     -> l-        EqualP l _ _     -> l         ParenA l _       -> l-        WildCardA l _    -> l     amap f asst = case asst of-        ClassA l qn ts      -> ClassA (f l) qn ts-        AppA   l n ns       -> AppA   (f l) n ns-        InfixA l ta qn tb   -> InfixA (f l) ta qn tb+        TypeA l t           -> TypeA (f l) t         IParam l ipn t      -> IParam (f l) ipn t-        EqualP l t1 t2      -> EqualP (f l) t1 t2         ParenA l a          -> ParenA (f l) a-        WildCardA l mn      -> WildCardA (f l) mn  instance Annotated Literal where     ann lit = case lit of@@ -1739,19 +1731,25 @@  instance Annotated Bracket where     ann (ExpBracket l _)  = l+    ann (TExpBracket l _) = l     ann (PatBracket l _)  = l     ann (TypeBracket l _) = l     ann (DeclBracket l _) = l     amap f (ExpBracket l e) = ExpBracket (f l) e+    amap f (TExpBracket l e) = TExpBracket (f l) e     amap f (PatBracket l p) = PatBracket (f l) p     amap f (TypeBracket l t) = TypeBracket (f l) t     amap f (DeclBracket l ds) = DeclBracket (f l) ds  instance Annotated Splice where     ann (IdSplice l _)    = l+    ann (TIdSplice l _)   = l     ann (ParenSplice l _) = l+    ann (TParenSplice l _) = l     amap f (IdSplice l s) = IdSplice (f l) s+    amap f (TIdSplice l s) = TIdSplice (f l) s     amap f (ParenSplice l e) = ParenSplice (f l) e+    amap f (TParenSplice l e) = TParenSplice (f l) e  instance Annotated Safety where     ann (PlayRisky l) = l
tests/examples/BracketInstanceHead.hs.parser.golden view
@@ -51,40 +51,53 @@                         , srcInfoPoints =                             [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]                         }-                      (ClassA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan =                                SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23                            , srcInfoPoints =                                [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]                            }-                         (UnQual+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18-                              , srcInfoPoints = []+                                  SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]                               }-                            (Ident+                            (TyCon                                SrcSpanInfo                                  { srcInfoSpan =-                                     SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+                                     SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+                                       , srcInfoPoints = []+                                       }+                                     "Bounded")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20                                  , srcInfoPoints = []                                  }-                               "Bounded"))-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20-                                  , srcInfoPoints = []-                                  }-                                "a")-                         ])))+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20+                                    , srcInfoPoints = []+                                    }+                                  "a"))))))                 (IHApp                    SrcSpanInfo                      { srcInfoSpan =
tests/examples/ClassContext.hs.parser.golden view
@@ -40,67 +40,80 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20                         , srcInfoPoints =                             [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9-                           , srcInfoPoints = []+                           { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9-                              , srcInfoPoints = []+                              { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ]                               }-                            "Ord"))-                      [ TyParen-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 10 1 17-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/ClassContext.hs" 1 10 1 11-                                , SrcSpan "tests/examples/ClassContext.hs" 1 16 1 17-                                ]-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 11 1 16-                               , srcInfoPoints = []-                               }-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12-                                     , srcInfoPoints = []-                                     }-                                   "i"))-                             (TyCon-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16-                                        , srcInfoPoints = []-                                        }-                                      "Int"))))-                      ])))+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9+                                    , srcInfoPoints = []+                                    }+                                  "Ord")))+                         (TyParen+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 10 1 17+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/ClassContext.hs" 1 10 1 11+                                  , SrcSpan "tests/examples/ClassContext.hs" 1 16 1 17+                                  ]+                              }+                            (TyApp+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 11 1 16+                                 , srcInfoPoints = []+                                 }+                               (TyVar+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12+                                       , srcInfoPoints = []+                                       }+                                     "i"))+                               (TyCon+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+                                    , srcInfoPoints = []+                                    }+                                  (UnQual+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+                                       , srcInfoPoints = []+                                       }+                                     (Ident+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+                                          , srcInfoPoints = []+                                          }+                                        "Int")))))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 21 1 35
tests/examples/ConstraintKinds.hs.parser.golden view
@@ -342,53 +342,73 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22                         , srcInfoPoints =                             [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]                            }-                         (Ident+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+                                  SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+                                       , srcInfoPoints = []+                                       }+                                     "Bazable")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17+                                    , srcInfoPoints = []+                                    }+                                  "a")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19                               , srcInfoPoints = []                               }-                            "Bazable"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17-                               , srcInfoPoints = []-                               }-                             "a")-                      , TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19-                               , srcInfoPoints = []-                               }-                             "b")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19+                                 , srcInfoPoints = []+                                 }+                               "b"))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/ConstraintKinds2.hs.parser.golden view
@@ -150,21 +150,27 @@                          , srcInfoPoints =                              [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ]                          }-                       (AppA+                       (TypeA                           SrcSpanInfo                             { srcInfoSpan =                                 SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17                             , srcInfoPoints =                                 [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ]                             }-                          (Ident+                          (TyVar                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 14-                               , srcInfoPoints = []+                                   SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ]                                }-                             "p")-                          [])))+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 14+                                  , srcInfoPoints = []+                                  }+                                "p")))))                  (TyApp                     SrcSpanInfo                       { srcInfoSpan =
tests/examples/ConstraintKinds3.hs.parser.golden view
@@ -165,34 +165,48 @@                                       , SrcSpan "tests/examples/ConstraintKinds3.hs" 6 16 6 18                                       ]                                   }-                                (AppA+                                (TypeA                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 14                                      , srcInfoPoints = []                                      }-                                   (Ident+                                   (TyApp                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 12+                                            SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 14                                         , srcInfoPoints = []                                         }-                                      "c")-                                   [ TyVar-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/ConstraintKinds3.hs" 6 13 6 14-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/ConstraintKinds3.hs" 6 13 6 14-                                            , srcInfoPoints = []-                                            }-                                          "a")-                                   ]))))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/ConstraintKinds3.hs" 6 11 6 14+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/ConstraintKinds3.hs" 6 11 6 12+                                              , srcInfoPoints = []+                                              }+                                            "c"))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/ConstraintKinds3.hs" 6 13 6 14+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/ConstraintKinds3.hs" 6 13 6 14+                                              , srcInfoPoints = []+                                              }+                                            "a")))))))                        (TyFun                           SrcSpanInfo                             { srcInfoSpan =
tests/examples/ConstructorAndClassOperators.hs.parser.golden view
@@ -76,7 +76,7 @@                              "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20                          ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20@@ -85,53 +85,97 @@                                 "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20                             ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 13+                               SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20                            , srcInfoPoints =-                               [ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 9-                               , SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 9 3 12-                               , SrcSpan-                                   "tests/examples/ConstructorAndClassOperators.hs" 3 12 3 13+                               [ SrcSpan+                                   "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20                                ]                            }-                         (Symbol+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 9 3 12+                                  SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20+                              , srcInfoPoints =+                                  [ SrcSpan+                                      "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20+                                  ]+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20+                                 , srcInfoPoints =+                                     [ SrcSpan+                                         "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20+                                     ]+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan+                                          "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 13+                                    , srcInfoPoints =+                                        [ SrcSpan+                                            "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 9+                                        , SrcSpan+                                            "tests/examples/ConstructorAndClassOperators.hs"+                                            3+                                            9+                                            3+                                            12+                                        , SrcSpan+                                            "tests/examples/ConstructorAndClassOperators.hs"+                                            3+                                            12+                                            3+                                            13+                                        ]+                                    }+                                  (Symbol+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan+                                             "tests/examples/ConstructorAndClassOperators.hs"+                                             3+                                             9+                                             3+                                             12+                                       , srcInfoPoints = []+                                       }+                                     ":=>")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan+                                          "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15+                                    , srcInfoPoints = []+                                    }+                                  "b")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17                               , srcInfoPoints = []                               }-                            ":=>"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan-                                     "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15-                               , srcInfoPoints = []-                               }-                             "b")-                      , TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan-                                     "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17-                               , srcInfoPoints = []-                               }-                             "h")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17+                                 , srcInfoPoints = []+                                 }+                               "h"))))))              (TyInfix                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/ContextOrdering.hs.parser.golden view
@@ -92,46 +92,63 @@                             , SrcSpan "tests/examples/ContextOrdering.hs" 4 16 4 18                             ]                         }-                      (AppA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan =                                SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14                            , srcInfoPoints = []                            }-                         (Ident+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 10+                                  SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14                               , srcInfoPoints = []                               }-                            "x")-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12-                                  , srcInfoPoints = []-                                  }-                                "m")-                         , TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14-                                  , srcInfoPoints = []-                                  }-                                "a")-                         ]))))+                            (TyApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+                                 , srcInfoPoints = []+                                 }+                               (TyVar+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 10+                                       , srcInfoPoints = []+                                       }+                                     "x"))+                               (TyVar+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12+                                       , srcInfoPoints = []+                                       }+                                     "m")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))              (TyCon                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/CxtWhitespace.hs.parser.golden view
@@ -46,35 +46,46 @@                             , SrcSpan "tests/examples/CxtWhitespace.hs" 2 18 2 20                             ]                         }-                      (ClassA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16                            , srcInfoPoints = []                            }-                         (UnQual+                         (TyApp                             SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+                              { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16                               , srcInfoPoints = []                               }-                            (Ident+                            (TyCon                                SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+                                 { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16                                  , srcInfoPoints = []                                  }-                               "Eq"))-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16-                                  , srcInfoPoints = []-                                  }-                                "h")-                         ]))))+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+                                       , srcInfoPoints = []+                                       }+                                     "Eq")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16+                                    , srcInfoPoints = []+                                    }+                                  "h")))))))              (IHApp                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 21 2 25@@ -132,62 +143,86 @@                          , SrcSpan "tests/examples/CxtWhitespace.hs" 5 24 5 26                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+                            { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16                                , srcInfoPoints = []                                }-                             "Eq"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16-                                , srcInfoPoints = []-                                }-                              "h")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16+                                  , srcInfoPoints = []+                                  }+                                "h")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+                            { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22                                , srcInfoPoints = []                                }-                             "Eq"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22-                                , srcInfoPoints = []-                                }-                              "h")-                       ]+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22+                                  , srcInfoPoints = []+                                  }+                                "h")))                    ]))              (IHApp                 SrcSpanInfo
tests/examples/DefaultSignatures.hs.parser.golden view
@@ -205,39 +205,53 @@                                    , SrcSpan "tests/examples/DefaultSignatures.hs" 4 25 4 27                                    ]                                }-                             (ClassA+                             (TypeA                                 SrcSpanInfo                                   { srcInfoSpan =                                       SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23                                   , srcInfoPoints = []                                   }-                                (UnQual+                                (TyApp                                    SrcSpanInfo                                      { srcInfoSpan =-                                         SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 21+                                         SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23                                      , srcInfoPoints = []                                      }-                                   (Ident+                                   (TyCon                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 21+                                            SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23                                         , srcInfoPoints = []                                         }-                                      "Eq"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DefaultSignatures.hs" 4 22 4 23-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DefaultSignatures.hs" 4 22 4 23-                                         , srcInfoPoints = []-                                         }-                                       "a")-                                ]))))+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/DefaultSignatures.hs" 4 19 4 21+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DefaultSignatures.hs" 4 19 4 21+                                              , srcInfoPoints = []+                                              }+                                            "Eq")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DefaultSignatures.hs" 4 22 4 23+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/DefaultSignatures.hs" 4 22 4 23+                                           , srcInfoPoints = []+                                           }+                                         "a")))))))                     (TyFun                        SrcSpanInfo                          { srcInfoSpan =
tests/examples/DerivingStrategies.hs.parser.golden view
@@ -477,40 +477,53 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34                         , srcInfoPoints =                             [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29+                                    , srcInfoPoints = []+                                    }+                                  "Read")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31                               , srcInfoPoints = []                               }-                            "Read"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31-                               , srcInfoPoints = []-                               }-                             "a")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31+                                 , srcInfoPoints = []+                                 }+                               "a"))))))              (IHApp                 SrcSpanInfo                   { srcInfoSpan =@@ -615,40 +628,53 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35                         , srcInfoPoints =                             [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30+                                    , srcInfoPoints = []+                                    }+                                  "Num")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32                               , srcInfoPoints = []                               }-                            "Num"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32-                               , srcInfoPoints = []-                               }-                             "a")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32+                                 , srcInfoPoints = []+                                 }+                               "a"))))))              (IHApp                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/DerivingVia.hs.parser.golden view
@@ -1231,28534 +1231,29255 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]                      }-                   (ClassA-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19-                              , srcInfoPoints = []-                              }-                            "Bifunctor"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21-                               , srcInfoPoints = []-                               }-                             "p")-                      ])))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 43-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34-                           , srcInfoPoints = []-                           }-                         "Bifunctor")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 43-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 36-                         , SrcSpan "tests/examples/DerivingVia.hs" 52 42 52 43-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 42-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40-                                 , srcInfoPoints = []-                                 }-                               "Flip")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42-                              , srcInfoPoints = []-                              }-                            "p"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 8-                             , srcInfoPoints = []-                             }-                           "bimap")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10-                                 , srcInfoPoints = []-                                 }-                               "f")-                        , PVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12-                                 , srcInfoPoints = []-                                 }-                               "g")-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 41-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 14 ]-                             }-                           (InfixApp-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 41-                                , srcInfoPoints = []-                                }-                              (Con-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19-                                         , srcInfoPoints = []-                                         }-                                       "Flip")))-                              (QVarOp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21-                                      , srcInfoPoints = []-                                      }-                                    (Symbol-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21-                                         , srcInfoPoints = []-                                         }-                                       ".")))-                              (InfixApp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 41-                                   , srcInfoPoints = []-                                   }-                                 (App-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 31-                                      , srcInfoPoints = []-                                      }-                                    (App-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 29-                                         , srcInfoPoints = []-                                         }-                                       (Var-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 27-                                            , srcInfoPoints = []-                                            }-                                          (UnQual-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 53 22 53 27-                                               , srcInfoPoints = []-                                               }-                                             (Ident-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs" 53 22 53 27-                                                  , srcInfoPoints = []-                                                  }-                                                "bimap")))-                                       (Var-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/DerivingVia.hs" 53 28 53 29-                                            , srcInfoPoints = []-                                            }-                                          (UnQual-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 53 28 53 29-                                               , srcInfoPoints = []-                                               }-                                             (Ident-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs" 53 28 53 29-                                                  , srcInfoPoints = []-                                                  }-                                                "g"))))-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 53 30 53 31-                                               , srcInfoPoints = []-                                               }-                                             "f"))))-                                 (QVarOp-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33-                                         , srcInfoPoints = []-                                         }-                                       (Symbol-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33-                                            , srcInfoPoints = []-                                            }-                                          ".")))-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41-                                            , srcInfoPoints = []-                                            }-                                          "runFlip"))))))-                        Nothing-                    ])-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 1 58 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 9-                , SrcSpan "tests/examples/DerivingVia.hs" 55 44 55 49-                , SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 3-                , SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 43-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxSingle-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]-                     }-                   (ClassA-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19-                              , srcInfoPoints = []-                              }-                            "Bifunctor"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21-                               , srcInfoPoints = []-                               }-                             "p")-                      ])))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 43-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32-                           , srcInfoPoints = []-                           }-                         "Functor")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 43-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 34-                         , SrcSpan "tests/examples/DerivingVia.hs" 55 42 55 43-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 42-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 40-                           , srcInfoPoints = []-                           }-                         (TyCon-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38-                              , srcInfoPoints = []-                              }-                            (UnQual-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38-                                    , srcInfoPoints = []-                                    }-                                  "Flip")))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40-                                 , srcInfoPoints = []-                                 }-                               "p")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42-                              , srcInfoPoints = []-                              }-                            "a"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 7-                             , srcInfoPoints = []-                             }-                           "fmap")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9-                                 , srcInfoPoints = []-                                 }-                               "f")-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 36-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 11 ]-                             }-                           (InfixApp-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 36-                                , srcInfoPoints = []-                                }-                              (Con-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16-                                         , srcInfoPoints = []-                                         }-                                       "Flip")))-                              (QVarOp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18-                                      , srcInfoPoints = []-                                      }-                                    (Symbol-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18-                                         , srcInfoPoints = []-                                         }-                                       ".")))-                              (InfixApp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 36-                                   , srcInfoPoints = []-                                   }-                                 (App-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 26-                                      , srcInfoPoints = []-                                      }-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 56 19 56 24-                                               , srcInfoPoints = []-                                               }-                                             "first")))-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 56 25 56 26-                                               , srcInfoPoints = []-                                               }-                                             "f"))))-                                 (QVarOp-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28-                                         , srcInfoPoints = []-                                         }-                                       (Symbol-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28-                                            , srcInfoPoints = []-                                            }-                                          ".")))-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36-                                            , srcInfoPoints = []-                                            }-                                          "runFlip"))))))-                        Nothing-                    ])-             ])-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 59 19-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 58 15 58 16 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 14-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12-                     , srcInfoPoints = []-                     }-                   "Bar"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 22-                      , srcInfoPoints = []-                      }-                    "MkBar")-                 [ TyParen-                     SrcSpanInfo-                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 37-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 24-                           , SrcSpan "tests/examples/DerivingVia.hs" 58 36 58 37-                           ]-                       }-                     (TyApp-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 36-                          , srcInfoPoints = []-                          }-                        (TyApp-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 32-                             , srcInfoPoints = []-                             }-                           (TyCon-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30-                                , srcInfoPoints = []-                                }-                              (UnQual-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30-                                   , srcInfoPoints = []-                                   }-                                 (Ident-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30-                                      , srcInfoPoints = []-                                      }-                                    "Either")))-                           (TyVar-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32-                                   , srcInfoPoints = []-                                   }-                                 "a")))-                        (TyCon-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36-                             , srcInfoPoints = []-                             }-                           (UnQual-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36-                                   , srcInfoPoints = []-                                   }-                                 "Int"))))-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 19-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 11 ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 8 60 11-                      , srcInfoPoints = []-                      }-                    (TyParen-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 29-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 13-                             , SrcSpan "tests/examples/DerivingVia.hs" 60 28 60 29-                             ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 28-                            , srcInfoPoints = []-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 24-                               , srcInfoPoints = []-                               }-                             (TyCon-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17-                                        , srcInfoPoints = []-                                        }-                                      "Flip")))-                             (TyCon-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24-                                        , srcInfoPoints = []-                                        }-                                      "Either"))))-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28-                                     , srcInfoPoints = []-                                     }-                                   "Int")))))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19-                             , srcInfoPoints = []-                             }-                           "Functor")))-              ]-          ]-      , TypeDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 47-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 5-                , SrcSpan "tests/examples/DerivingVia.hs" 66 13 66 14-                ]-            }-          (DHead-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12-               , srcInfoPoints = []-               }-             (Ident-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12-                  , srcInfoPoints = []-                  }-                "MTrans"))-          (TyFun-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 47-               , srcInfoPoints =-                   [ SrcSpan "tests/examples/DerivingVia.hs" 66 30 66 32 ]-               }-             (TyParen-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 29-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 16-                      , SrcSpan "tests/examples/DerivingVia.hs" 66 28 66 29-                      ]-                  }-                (TyFun-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 28-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 66 21 66 23 ]-                     }-                   (TyCon-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20-                        , srcInfoPoints = []-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20-                              , srcInfoPoints = []-                              }-                            "Type")))-                   (TyCon-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28-                        , srcInfoPoints = []-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28-                              , srcInfoPoints = []-                              }-                            "Type")))))-             (TyParen-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 47-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 34-                      , SrcSpan "tests/examples/DerivingVia.hs" 66 46 66 47-                      ]-                  }-                (TyFun-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 46-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 66 39 66 41 ]-                     }-                   (TyCon-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38-                        , srcInfoPoints = []-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38-                              , srcInfoPoints = []-                              }-                            "Type")))-                   (TyCon-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46-                        , srcInfoPoints = []-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46-                              , srcInfoPoints = []-                              }-                            "Type"))))))-      , GDataDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 72 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 69 13 69 18-                , SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 3-                , SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 0-                ]-            }-          (DataType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 69 5-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 12-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10-                     , srcInfoPoints = []-                     }-                   "Dict"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12-                     , srcInfoPoints = []-                     }-                   "c")))-          Nothing-          [ GadtDecl-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 22-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 70 8 70 10 ]-                }-              (Ident-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 7-                   , srcInfoPoints = []-                   }-                 "Dict")-              Nothing-              Nothing-              Nothing-              (TyForall-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 22-                   , srcInfoPoints = []-                   }-                 Nothing-                 (Just-                    (CxSingle-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]-                         }-                       (AppA-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 12-                               , srcInfoPoints = []-                               }-                             "c")-                          [])))-                 (TyApp-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 22-                      , srcInfoPoints = []-                      }-                    (TyCon-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20-                               , srcInfoPoints = []-                               }-                             "Dict")))-                    (TyVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22-                            , srcInfoPoints = []-                            }-                          "c"))))-          ]-          []-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 35-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 72 16 72 17 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15-               , srcInfoPoints = []-               }-             (DHInfix-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15-                  , srcInfoPoints = []-                  }-                (UnkindedVar-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10-                     , srcInfoPoints = []-                     }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10-                        , srcInfoPoints = []-                        }-                      "a"))-                (Symbol-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 11 72 13-                     , srcInfoPoints = []-                     }-                   ":-"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15-                     , srcInfoPoints = []-                     }-                   "b")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 21-                      , srcInfoPoints = []-                      }-                    "Sub")-                 [ TyParen-                     SrcSpanInfo-                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 35-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 23-                           , SrcSpan "tests/examples/DerivingVia.hs" 72 34 72 35-                           ]-                       }-                     (TyForall-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 34-                          , srcInfoPoints = []-                          }-                        Nothing-                        (Just-                           (CxSingle-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27-                                , srcInfoPoints =-                                    [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]-                                }-                              (AppA-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27-                                   , srcInfoPoints =-                                       [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]-                                   }-                                 (Ident-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 24-                                      , srcInfoPoints = []-                                      }-                                    "a")-                                 [])))-                        (TyApp-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 34-                             , srcInfoPoints = []-                             }-                           (TyCon-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32-                                , srcInfoPoints = []-                                }-                              (UnQual-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32-                                   , srcInfoPoints = []-                                   }-                                 (Ident-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32-                                      , srcInfoPoints = []-                                      }-                                    "Dict")))-                           (TyVar-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34-                                   , srcInfoPoints = []-                                   }-                                 "b"))))-                 ])-          ]-          []-      , InfixDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 12-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 74 8 74 9 ]-            }-          (AssocLeft-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 7-               , srcInfoPoints = []-               })-          (Just 1)-          [ VarOp-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12-                , srcInfoPoints = []-                }-              (Symbol-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12-                   , srcInfoPoints = []-                   }-                 "\\\\")-          ]-      , TypeSig-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 39-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 75 6 75 8 ]-            }-          [ Symbol-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 5-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 2-                    , SrcSpan "tests/examples/DerivingVia.hs" 75 2 75 4-                    , SrcSpan "tests/examples/DerivingVia.hs" 75 4 75 5-                    ]-                }-              "\\\\"-          ]-          (TyForall-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 39-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxSingle-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]-                     }-                   (AppA-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 10-                           , srcInfoPoints = []-                           }-                         "a")-                      [])))-             (TyFun-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 39-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/DerivingVia.hs" 75 23 75 25 ]-                  }-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 22-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 15-                         , SrcSpan "tests/examples/DerivingVia.hs" 75 21 75 22-                         ]-                     }-                   (TyForall-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 21-                        , srcInfoPoints = []-                        }-                      Nothing-                      (Just-                         (CxSingle-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19-                              , srcInfoPoints =-                                  [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]-                              }-                            (AppA-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19-                                 , srcInfoPoints =-                                     [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 16-                                    , srcInfoPoints = []-                                    }-                                  "b")-                               [])))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21-                              , srcInfoPoints = []-                              }-                            "r"))))-                (TyFun-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 39-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 75 35 75 37 ]-                     }-                   (TyParen-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 34-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 27-                            , SrcSpan "tests/examples/DerivingVia.hs" 75 33 75 34-                            ]-                        }-                      (TyInfix-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 33-                           , srcInfoPoints = []-                           }-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28-                                 , srcInfoPoints = []-                                 }-                               "a"))-                         (UnpromotedName-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31-                              , srcInfoPoints = []-                              }-                            (UnQual-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31-                                 , srcInfoPoints = []-                                 }-                               (Symbol-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31-                                    , srcInfoPoints = []-                                    }-                                  ":-")))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33-                                 , srcInfoPoints = []-                                 }-                               "b"))))-                   (TyVar-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39-                           , srcInfoPoints = []-                           }-                         "r")))))-      , FunBind-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18-            , srcInfoPoints = []-            }-          [ InfixMatch-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18-                , srcInfoPoints = []-                }-              (PVar-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2-                      , srcInfoPoints = []-                      }-                    "r"))-              (Symbol-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 3 76 5-                   , srcInfoPoints = []-                   }-                 "\\\\")-              [ PApp-                  SrcSpanInfo-                    { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 14-                    , srcInfoPoints = []-                    }-                  (UnQual-                     SrcSpanInfo-                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9-                          , srcInfoPoints = []-                          }-                        "Sub"))-                  [ PApp-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14-                        , srcInfoPoints = []-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14-                              , srcInfoPoints = []-                              }-                            "Dict"))-                      []-                  ]-              ]-              (UnGuardedRhs-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 18-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 16 ]-                   }-                 (Var-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18-                      , srcInfoPoints = []-                      }-                    (UnQual-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18-                            , srcInfoPoints = []-                            }-                          "r"))))-              Nothing-          ]-      , ClassDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 1 85 38-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 84 1 84 6-                , SrcSpan "tests/examples/DerivingVia.hs" 84 38 84 43-                , SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 3-                , SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 0-                ]-            }-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 37-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19-                     , srcInfoPoints = []-                     }-                   "LiftingMonad"))-             (KindedVar-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 37-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 21-                      , SrcSpan "tests/examples/DerivingVia.hs" 84 27 84 29-                      , SrcSpan "tests/examples/DerivingVia.hs" 84 36 84 37-                      ]-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 21 84 26-                     , srcInfoPoints = []-                     }-                   "trans")-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36-                           , srcInfoPoints = []-                           }-                         "MTrans")))))-          []-          (Just-             [ ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 8-                          , srcInfoPoints = []-                          }-                        "proof"-                    ]-                    (TyInfix-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 38-                         , srcInfoPoints = []-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 19-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17-                                     , srcInfoPoints = []-                                     }-                                   "Monad")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19-                                  , srcInfoPoints = []-                                  }-                                "m")))-                       (UnpromotedName-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22-                               , srcInfoPoints = []-                               }-                             (Symbol-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22-                                  , srcInfoPoints = []-                                  }-                                ":-")))-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 38-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28-                                     , srcInfoPoints = []-                                     }-                                   "Monad")))-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 38-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 30-                                   , SrcSpan "tests/examples/DerivingVia.hs" 85 37 85 38-                                   ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 37-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35-                                        , srcInfoPoints = []-                                        }-                                      "trans"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37-                                        , srcInfoPoints = []-                                        }-                                      "m")))))))-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 1 91 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 9-                , SrcSpan "tests/examples/DerivingVia.hs" 87 44 87 49-                , SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 3-                , SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 3-                , SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22-                           , srcInfoPoints = []-                           }-                         "LiftingMonad")))-                (TyKind-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 43-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 24-                         , SrcSpan "tests/examples/DerivingVia.hs" 87 33 87 35-                         , SrcSpan "tests/examples/DerivingVia.hs" 87 42 87 43-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 32-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30-                                 , srcInfoPoints = []-                                 }-                               "StateT")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32-                              , srcInfoPoints = []-                              }-                            "s")))-                   (TyCon-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42-                        , srcInfoPoints = []-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42-                              , srcInfoPoints = []-                              }-                            "MTrans"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 8-                          , srcInfoPoints = []-                          }-                        "proof"-                    ]-                    (TyInfix-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 41-                         , srcInfoPoints = []-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 19-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17-                                     , srcInfoPoints = []-                                     }-                                   "Monad")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19-                                  , srcInfoPoints = []-                                  }-                                "m")))-                       (UnpromotedName-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22-                               , srcInfoPoints = []-                               }-                             (Symbol-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22-                                  , srcInfoPoints = []-                                  }-                                ":-")))-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 41-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28-                                     , srcInfoPoints = []-                                     }-                                   "Monad")))-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 41-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 30-                                   , SrcSpan "tests/examples/DerivingVia.hs" 88 40 88 41-                                   ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 40-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 38-                                     , srcInfoPoints = []-                                     }-                                   (TyCon-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36-                                        , srcInfoPoints = []-                                        }-                                      (UnQual-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 88 30 88 36-                                              , srcInfoPoints = []-                                              }-                                            "StateT")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38-                                           , srcInfoPoints = []-                                           }-                                         "s")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40-                                        , srcInfoPoints = []-                                        }-                                      "m")))))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8-                            , srcInfoPoints = []-                            }-                          "proof"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 19-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 19-                            , srcInfoPoints = []-                            }-                          (Con-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14-                                     , srcInfoPoints = []-                                     }-                                   "Sub")))-                          (Con-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19-                                     , srcInfoPoints = []-                                     }-                                   "Dict")))))-                    Nothing)-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 1 95 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 9-                , SrcSpan "tests/examples/DerivingVia.hs" 91 57 91 62-                , SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 3-                , SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 3-                , SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 56-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxSingle-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]-                     }-                   (ClassA-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16-                              , srcInfoPoints = []-                              }-                            "Monoid"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18-                               , srcInfoPoints = []-                               }-                             "w")-                      ])))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 56-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34-                           , srcInfoPoints = []-                           }-                         "LiftingMonad")))-                (TyKind-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 56-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 36-                         , SrcSpan "tests/examples/DerivingVia.hs" 91 46 91 48-                         , SrcSpan "tests/examples/DerivingVia.hs" 91 55 91 56-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 45-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43-                                 , srcInfoPoints = []-                                 }-                               "WriterT")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45-                              , srcInfoPoints = []-                              }-                            "w")))-                   (TyCon-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55-                        , srcInfoPoints = []-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55-                              , srcInfoPoints = []-                              }-                            "MTrans"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 8-                          , srcInfoPoints = []-                          }-                        "proof"-                    ]-                    (TyInfix-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 42-                         , srcInfoPoints = []-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 19-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17-                                     , srcInfoPoints = []-                                     }-                                   "Monad")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19-                                  , srcInfoPoints = []-                                  }-                                "m")))-                       (UnpromotedName-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22-                               , srcInfoPoints = []-                               }-                             (Symbol-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22-                                  , srcInfoPoints = []-                                  }-                                ":-")))-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 42-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28-                                     , srcInfoPoints = []-                                     }-                                   "Monad")))-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 42-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 30-                                   , SrcSpan "tests/examples/DerivingVia.hs" 92 41 92 42-                                   ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 41-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 39-                                     , srcInfoPoints = []-                                     }-                                   (TyCon-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37-                                        , srcInfoPoints = []-                                        }-                                      (UnQual-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 92 30 92 37-                                              , srcInfoPoints = []-                                              }-                                            "WriterT")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39-                                           , srcInfoPoints = []-                                           }-                                         "w")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41-                                        , srcInfoPoints = []-                                        }-                                      "m")))))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8-                            , srcInfoPoints = []-                            }-                          "proof"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 19-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 19-                            , srcInfoPoints = []-                            }-                          (Con-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14-                                     , srcInfoPoints = []-                                     }-                                   "Sub")))-                          (Con-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19-                                     , srcInfoPoints = []-                                     }-                                   "Dict")))))-                    Nothing)-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 1 99 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 9-                , SrcSpan "tests/examples/DerivingVia.hs" 95 102 95 107-                , SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 3-                , SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 3-                , SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 101-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 54-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 95 29 95 30-                         , SrcSpan "tests/examples/DerivingVia.hs" 95 50 95 51-                         , SrcSpan "tests/examples/DerivingVia.hs" 95 52 95 54-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23-                               , srcInfoPoints = []-                               }-                             "LiftingMonad"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29-                                , srcInfoPoints = []-                                }-                              "trans")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43-                               , srcInfoPoints = []-                               }-                             "LiftingMonad"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50-                                , srcInfoPoints = []-                                }-                              "trans'")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 101-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67-                           , srcInfoPoints = []-                           }-                         "LiftingMonad")))-                (TyKind-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 101-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 69-                         , SrcSpan "tests/examples/DerivingVia.hs" 95 91 95 93-                         , SrcSpan "tests/examples/DerivingVia.hs" 95 100 95 101-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 90-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 83-                           , srcInfoPoints = []-                           }-                         (TyCon-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77-                              , srcInfoPoints = []-                              }-                            (UnQual-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77-                                    , srcInfoPoints = []-                                    }-                                  "ComposeT")))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83-                                 , srcInfoPoints = []-                                 }-                               "trans")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90-                              , srcInfoPoints = []-                              }-                            "trans'")))-                   (TyCon-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100-                        , srcInfoPoints = []-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100-                              , srcInfoPoints = []-                              }-                            "MTrans"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 8-                          , srcInfoPoints = []-                          }-                        "proof"-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 64-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 18-                             , SrcSpan "tests/examples/DerivingVia.hs" 96 20 96 21-                             ]-                         }-                       (Just-                          [ UnkindedVar-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20-                                   , srcInfoPoints = []-                                   }-                                 "m")-                          ])-                       Nothing-                       (TyInfix-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 64-                            , srcInfoPoints = []-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 29-                               , srcInfoPoints = []-                               }-                             (TyCon-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27-                                        , srcInfoPoints = []-                                        }-                                      "Monad")))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29-                                     , srcInfoPoints = []-                                     }-                                   "m")))-                          (UnpromotedName-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32-                                  , srcInfoPoints = []-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32-                                     , srcInfoPoints = []-                                     }-                                   ":-")))-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 64-                               , srcInfoPoints = []-                               }-                             (TyCon-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38-                                        , srcInfoPoints = []-                                        }-                                      "Monad")))-                             (TyParen-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 64-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 40-                                      , SrcSpan "tests/examples/DerivingVia.hs" 96 63 96 64-                                      ]-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 63-                                     , srcInfoPoints = []-                                     }-                                   (TyApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 61-                                        , srcInfoPoints = []-                                        }-                                      (TyApp-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 54-                                           , srcInfoPoints = []-                                           }-                                         (TyCon-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 96 40 96 48-                                              , srcInfoPoints = []-                                              }-                                            (UnQual-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 96 40 96 48-                                                 , srcInfoPoints = []-                                                 }-                                               (Ident-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          96-                                                          40-                                                          96-                                                          48-                                                    , srcInfoPoints = []-                                                    }-                                                  "ComposeT")))-                                         (TyVar-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 96 49 96 54-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 96 49 96 54-                                                 , srcInfoPoints = []-                                                 }-                                               "trans")))-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 96 55 96 61-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 96 55 96 61-                                              , srcInfoPoints = []-                                              }-                                            "trans'")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63-                                           , srcInfoPoints = []-                                           }-                                         "m"))))))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8-                            , srcInfoPoints = []-                            }-                          "proof"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 69-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 69-                            , srcInfoPoints = []-                            }-                          (Con-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14-                                     , srcInfoPoints = []-                                     }-                                   "Sub")))-                          (Paren-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 69-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 16-                                   , SrcSpan "tests/examples/DerivingVia.hs" 97 68 97 69-                                   ]-                               }-                             (InfixApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 68-                                  , srcInfoPoints = []-                                  }-                                (InfixApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 48-                                     , srcInfoPoints = []-                                     }-                                   (Con-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20-                                        , srcInfoPoints = []-                                        }-                                      (UnQual-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 97 16 97 20-                                              , srcInfoPoints = []-                                              }-                                            "Dict")))-                                   (QVarOp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23-                                        , srcInfoPoints = []-                                        }-                                      (UnQual-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23-                                           , srcInfoPoints = []-                                           }-                                         (Symbol-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 97 21 97 23-                                              , srcInfoPoints = []-                                              }-                                            "\\\\")))-                                   (App-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 48-                                        , srcInfoPoints = []-                                        }-                                      (App-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 36-                                           , srcInfoPoints = []-                                           }-                                         (Var-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 97 24 97 29-                                              , srcInfoPoints = []-                                              }-                                            (UnQual-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 97 24 97 29-                                                 , srcInfoPoints = []-                                                 }-                                               (Ident-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          97-                                                          24-                                                          97-                                                          29-                                                    , srcInfoPoints = []-                                                    }-                                                  "proof")))-                                         (TypeApp-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 97 30 97 36-                                              , srcInfoPoints =-                                                  [ SrcSpan-                                                      "tests/examples/DerivingVia.hs" 97 30 97 31-                                                  ]-                                              }-                                            (TyVar-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 97 31 97 36-                                                 , srcInfoPoints = []-                                                 }-                                               (Ident-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          97-                                                          31-                                                          97-                                                          36-                                                    , srcInfoPoints = []-                                                    }-                                                  "trans"))))-                                      (TypeApp-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 48-                                           , srcInfoPoints =-                                               [ SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 38-                                               ]-                                           }-                                         (TyParen-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 97 38 97 48-                                              , srcInfoPoints =-                                                  [ SrcSpan-                                                      "tests/examples/DerivingVia.hs" 97 38 97 39-                                                  , SrcSpan-                                                      "tests/examples/DerivingVia.hs" 97 47 97 48-                                                  ]-                                              }-                                            (TyApp-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 97 39 97 47-                                                 , srcInfoPoints = []-                                                 }-                                               (TyVar-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          97-                                                          39-                                                          97-                                                          45-                                                    , srcInfoPoints = []-                                                    }-                                                  (Ident-                                                     SrcSpanInfo-                                                       { srcInfoSpan =-                                                           SrcSpan-                                                             "tests/examples/DerivingVia.hs"-                                                             97-                                                             39-                                                             97-                                                             45-                                                       , srcInfoPoints = []-                                                       }-                                                     "trans'"))-                                               (TyVar-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          97-                                                          46-                                                          97-                                                          47-                                                    , srcInfoPoints = []-                                                    }-                                                  (Ident-                                                     SrcSpanInfo-                                                       { srcInfoSpan =-                                                           SrcSpan-                                                             "tests/examples/DerivingVia.hs"-                                                             97-                                                             46-                                                             97-                                                             47-                                                       , srcInfoPoints = []-                                                       }-                                                     "m")))))))-                                (QVarOp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51-                                        , srcInfoPoints = []-                                        }-                                      (Symbol-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51-                                           , srcInfoPoints = []-                                           }-                                         "\\\\")))-                                (App-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 68-                                     , srcInfoPoints = []-                                     }-                                   (App-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 65-                                        , srcInfoPoints = []-                                        }-                                      (Var-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 57-                                           , srcInfoPoints = []-                                           }-                                         (UnQual-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 97 52 97 57-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 97 52 97 57-                                                 , srcInfoPoints = []-                                                 }-                                               "proof")))-                                      (TypeApp-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 65-                                           , srcInfoPoints =-                                               [ SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 59-                                               ]-                                           }-                                         (TyVar-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 97 59 97 65-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 97 59 97 65-                                                 , srcInfoPoints = []-                                                 }-                                               "trans'"))))-                                   (TypeApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 68-                                        , srcInfoPoints =-                                            [ SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 67 ]-                                        }-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 97 67 97 68-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 97 67 97 68-                                              , srcInfoPoints = []-                                              }-                                            "m"))))))))-                    Nothing)-             ])-      , GDataDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 109 34-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 99 15 99 17-                , SrcSpan "tests/examples/DerivingVia.hs" 99 25 99 30-                , SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 3-                , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3-                , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3-                ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 8-               , srcInfoPoints = []-               })-          Nothing-          (DHead-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14-               , srcInfoPoints = []-               }-             (Ident-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14-                  , srcInfoPoints = []-                  }-                "Stack"))-          (Just-             (TyCon-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24-                  , srcInfoPoints = []-                  }-                (UnQual-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24-                     , srcInfoPoints = []-                     }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24-                        , srcInfoPoints = []-                        }-                      "MTrans"))))-          [ GadtDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 71-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 100 9 100 11 ]-                }-              (Ident-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 8-                   , srcInfoPoints = []-                   }-                 "Stack")-              Nothing-              Nothing-              Nothing-              (TyFun-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 71-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 100 59 100 61 ]-                   }-                 (TyApp-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 58-                      , srcInfoPoints = []-                      }-                    (TyApp-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 56-                         , srcInfoPoints = []-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 23-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19-                                     , srcInfoPoints = []-                                     }-                                   "ReaderT")))-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23-                                     , srcInfoPoints = []-                                     }-                                   "Int"))))-                       (TyParen-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 56-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 25-                                , SrcSpan "tests/examples/DerivingVia.hs" 100 55 100 56-                                ]-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 55-                               , srcInfoPoints = []-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 36-                                  , srcInfoPoints = []-                                  }-                                (TyCon-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31-                                           , srcInfoPoints = []-                                           }-                                         "StateT")))-                                (TyCon-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36-                                           , srcInfoPoints = []-                                           }-                                         "Bool"))))-                             (TyParen-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 55-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 38-                                      , SrcSpan "tests/examples/DerivingVia.hs" 100 54 100 55-                                      ]-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 54-                                     , srcInfoPoints = []-                                     }-                                   (TyApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 52-                                        , srcInfoPoints = []-                                        }-                                      (TyCon-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 45-                                           , srcInfoPoints = []-                                           }-                                         (UnQual-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 100 38 100 45-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 100 38 100 45-                                                 , srcInfoPoints = []-                                                 }-                                               "WriterT")))-                                      (TyCon-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 100 46 100 52-                                           , srcInfoPoints = []-                                           }-                                         (UnQual-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 100 46 100 52-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 100 46 100 52-                                                 , srcInfoPoints = []-                                                 }-                                               "String"))))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54-                                           , srcInfoPoints = []-                                           }-                                         "m")))))))-                    (TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58-                            , srcInfoPoints = []-                            }-                          "a")))-                 (TyApp-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 71-                      , srcInfoPoints = []-                      }-                    (TyApp-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 69-                         , srcInfoPoints = []-                         }-                       (TyCon-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67-                                  , srcInfoPoints = []-                                  }-                                "Stack")))-                       (TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69-                               , srcInfoPoints = []-                               }-                             "m")))-                    (TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71-                            , srcInfoPoints = []-                            }-                          "a"))))-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 101 3 108 6-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 11-                    , SrcSpan "tests/examples/DerivingVia.hs" 102 5 102 6-                    , SrcSpan "tests/examples/DerivingVia.hs" 103 5 103 6-                    , SrcSpan "tests/examples/DerivingVia.hs" 104 5 104 6-                    , SrcSpan "tests/examples/DerivingVia.hs" 105 5 105 6-                    , SrcSpan "tests/examples/DerivingVia.hs" 106 5 106 6-                    , SrcSpan "tests/examples/DerivingVia.hs" 107 5 107 6-                    , SrcSpan "tests/examples/DerivingVia.hs" 108 5 108 6-                    ]-                }-              (Just-                 (DerivNewtype-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 101 12 101 19-                      , srcInfoPoints = []-                      }))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14-                             , srcInfoPoints = []-                             }-                           "Functor")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18-                             , srcInfoPoints = []-                             }-                           "Applicative")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12-                             , srcInfoPoints = []-                             }-                           "Monad")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHApp-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22-                       , srcInfoPoints = []-                       }-                     (IHCon-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18-                          , srcInfoPoints = []-                          }-                        (UnQual-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18-                                , srcInfoPoints = []-                                }-                              "MonadReader")))-                     (TyCon-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22-                          , srcInfoPoints = []-                          }-                        (UnQual-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22-                                , srcInfoPoints = []-                                }-                              "Int"))))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHApp-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22-                       , srcInfoPoints = []-                       }-                     (IHCon-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17-                          , srcInfoPoints = []-                          }-                        (UnQual-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17-                                , srcInfoPoints = []-                                }-                              "MonadState")))-                     (TyCon-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22-                          , srcInfoPoints = []-                          }-                        (UnQual-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22-                                , srcInfoPoints = []-                                }-                              "Bool"))))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHApp-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25-                       , srcInfoPoints = []-                       }-                     (IHCon-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18-                          , srcInfoPoints = []-                          }-                        (UnQual-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18-                                , srcInfoPoints = []-                                }-                              "MonadWriter")))-                     (TyCon-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25-                          , srcInfoPoints = []-                          }-                        (UnQual-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25-                                , srcInfoPoints = []-                                }-                              "String"))))-              ]-          , Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 34-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 11-                    , SrcSpan "tests/examples/DerivingVia.hs" 109 12 109 13-                    , SrcSpan "tests/examples/DerivingVia.hs" 109 23 109 24-                    , SrcSpan "tests/examples/DerivingVia.hs" 109 33 109 34-                    ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 110 8 110 11-                      , srcInfoPoints = []-                      }-                    (TyParen-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 74-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 13-                             , SrcSpan "tests/examples/DerivingVia.hs" 110 73 110 74-                             ]-                         }-                       (TyInfix-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 73-                            , srcInfoPoints = []-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 24-                               , srcInfoPoints = []-                               }-                             (TyCon-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20-                                        , srcInfoPoints = []-                                        }-                                      "ReaderT")))-                             (TyCon-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24-                                        , srcInfoPoints = []-                                        }-                                      "Int"))))-                          (UnpromotedName-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26-                                   , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34-                                   , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35-                                   ]-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26-                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34-                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35-                                      ]-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34-                                     , srcInfoPoints = []-                                     }-                                   "ComposeT")))-                          (TyInfix-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 73-                               , srcInfoPoints = []-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 47-                                  , srcInfoPoints = []-                                  }-                                (TyCon-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42-                                           , srcInfoPoints = []-                                           }-                                         "StateT")))-                                (TyCon-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47-                                           , srcInfoPoints = []-                                           }-                                         "Bool"))))-                             (UnpromotedName-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49-                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57-                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58-                                      ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58-                                     , srcInfoPoints =-                                         [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49-                                         , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57-                                         , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58-                                         ]-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57-                                        , srcInfoPoints = []-                                        }-                                      "ComposeT")))-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 73-                                  , srcInfoPoints = []-                                  }-                                (TyCon-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66-                                           , srcInfoPoints = []-                                           }-                                         "WriterT")))-                                (TyCon-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73-                                           , srcInfoPoints = []-                                           }-                                         "String")))))))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23-                             , srcInfoPoints = []-                             }-                           "MonadTrans")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33-                             , srcInfoPoints = []-                             }-                           "MFunctor")))-              ]-          ]-      , ClassDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 112 1 113 57-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 112 1 112 6-                , SrcSpan "tests/examples/DerivingVia.hs" 112 34 112 39-                , SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 3-                , SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 0-                ]-            }-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 33-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15-                     , srcInfoPoints = []-                     }-                   "MFunctor"))-             (KindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 33-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 17-                      , SrcSpan "tests/examples/DerivingVia.hs" 112 23 112 25-                      , SrcSpan "tests/examples/DerivingVia.hs" 112 32 112 33-                      ]-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 112 17 112 22-                     , srcInfoPoints = []-                     }-                   "trans")-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32-                           , srcInfoPoints = []-                           }-                         "MTrans")))))-          []-          (Just-             [ ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 8-                          , srcInfoPoints = []-                          }-                        "hoist"-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 57-                         , srcInfoPoints = []-                         }-                       Nothing-                       (Just-                          (CxSingle-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]-                               }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 17-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 17-                                        , srcInfoPoints = []-                                        }-                                      "Monad"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19-                                         , srcInfoPoints = []-                                         }-                                       "m")-                                ])))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 57-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 113 33 113 35 ]-                            }-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 32-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 24-                                   , SrcSpan "tests/examples/DerivingVia.hs" 113 31 113 32-                                   ]-                               }-                             (TyInfix-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 31-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25-                                        , srcInfoPoints = []-                                        }-                                      "m"))-                                (UnpromotedName-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28-                                        , srcInfoPoints = []-                                        }-                                      (Symbol-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28-                                           , srcInfoPoints = []-                                           }-                                         "~>")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31-                                        , srcInfoPoints = []-                                        }-                                      "m'"))))-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 57-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 37-                                   , SrcSpan "tests/examples/DerivingVia.hs" 113 56 113 57-                                   ]-                               }-                             (TyInfix-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 56-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 44-                                     , srcInfoPoints = []-                                     }-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42-                                           , srcInfoPoints = []-                                           }-                                         "trans"))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44-                                           , srcInfoPoints = []-                                           }-                                         "m")))-                                (UnpromotedName-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47-                                        , srcInfoPoints = []-                                        }-                                      (Symbol-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47-                                           , srcInfoPoints = []-                                           }-                                         "~>")))-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 56-                                     , srcInfoPoints = []-                                     }-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53-                                           , srcInfoPoints = []-                                           }-                                         "trans"))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56-                                           , srcInfoPoints = []-                                           }-                                         "m'"))))))))-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 115 1 119 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 9-                , SrcSpan "tests/examples/DerivingVia.hs" 115 41 115 46-                , SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 3-                , SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 3-                , SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18-                           , srcInfoPoints = []-                           }-                         "MFunctor")))-                (TyKind-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 40-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 20-                         , SrcSpan "tests/examples/DerivingVia.hs" 115 30 115 32-                         , SrcSpan "tests/examples/DerivingVia.hs" 115 39 115 40-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 29-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27-                                 , srcInfoPoints = []-                                 }-                               "ReaderT")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29-                              , srcInfoPoints = []-                              }-                            "r")))-                   (TyCon-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39-                        , srcInfoPoints = []-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39-                              , srcInfoPoints = []-                              }-                            "MTrans"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 8-                          , srcInfoPoints = []-                          }-                        "hoist"-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 65-                         , srcInfoPoints = []-                         }-                       Nothing-                       (Just-                          (CxSingle-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]-                               }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 17-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 17-                                        , srcInfoPoints = []-                                        }-                                      "Monad"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19-                                         , srcInfoPoints = []-                                         }-                                       "m")-                                ])))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 65-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 116 33 116 35 ]-                            }-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 32-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 24-                                   , SrcSpan "tests/examples/DerivingVia.hs" 116 31 116 32-                                   ]-                               }-                             (TyInfix-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 31-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25-                                        , srcInfoPoints = []-                                        }-                                      "m"))-                                (UnpromotedName-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28-                                        , srcInfoPoints = []-                                        }-                                      (Symbol-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28-                                           , srcInfoPoints = []-                                           }-                                         "~>")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31-                                        , srcInfoPoints = []-                                        }-                                      "m'"))))-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 65-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 37-                                   , SrcSpan "tests/examples/DerivingVia.hs" 116 64 116 65-                                   ]-                               }-                             (TyInfix-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 64-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 48-                                     , srcInfoPoints = []-                                     }-                                   (TyApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 46-                                        , srcInfoPoints = []-                                        }-                                      (TyCon-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 44-                                           , srcInfoPoints = []-                                           }-                                         (UnQual-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 116 37 116 44-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 116 37 116 44-                                                 , srcInfoPoints = []-                                                 }-                                               "ReaderT")))-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 116 45 116 46-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 116 45 116 46-                                              , srcInfoPoints = []-                                              }-                                            "r")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48-                                           , srcInfoPoints = []-                                           }-                                         "m")))-                                (UnpromotedName-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51-                                        , srcInfoPoints = []-                                        }-                                      (Symbol-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51-                                           , srcInfoPoints = []-                                           }-                                         "~>")))-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 64-                                     , srcInfoPoints = []-                                     }-                                   (TyApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 61-                                        , srcInfoPoints = []-                                        }-                                      (TyCon-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 59-                                           , srcInfoPoints = []-                                           }-                                         (UnQual-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 116 52 116 59-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 116 52 116 59-                                                 , srcInfoPoints = []-                                                 }-                                               "ReaderT")))-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 116 60 116 61-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 116 60 116 61-                                              , srcInfoPoints = []-                                              }-                                            "r")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64-                                           , srcInfoPoints = []-                                           }-                                         "m'"))))))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 8-                             , srcInfoPoints = []-                             }-                           "hoist")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12-                                 , srcInfoPoints = []-                                 }-                               "nat")-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 46-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 14 ]-                             }-                           (InfixApp-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 46-                                , srcInfoPoints = []-                                }-                              (Con-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22-                                         , srcInfoPoints = []-                                         }-                                       "ReaderT")))-                              (QVarOp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24-                                      , srcInfoPoints = []-                                      }-                                    (Symbol-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24-                                         , srcInfoPoints = []-                                         }-                                       ".")))-                              (InfixApp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 46-                                   , srcInfoPoints = []-                                   }-                                 (App-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 33-                                      , srcInfoPoints = []-                                      }-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 29-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 117 25 117 29-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 117 25 117 29-                                               , srcInfoPoints = []-                                               }-                                             "fmap")))-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 117 30 117 33-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 117 30 117 33-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 117 30 117 33-                                               , srcInfoPoints = []-                                               }-                                             "nat"))))-                                 (QVarOp-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35-                                         , srcInfoPoints = []-                                         }-                                       (Symbol-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 117 34 117 35-                                            , srcInfoPoints = []-                                            }-                                          ".")))-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 117 36 117 46-                                            , srcInfoPoints = []-                                            }-                                          "runReaderT"))))))-                        Nothing-                    ])-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 119 1 123 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 9-                , SrcSpan "tests/examples/DerivingVia.hs" 119 40 119 45-                , SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 3-                , SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 3-                , SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18-                           , srcInfoPoints = []-                           }-                         "MFunctor")))-                (TyKind-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 39-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 20-                         , SrcSpan "tests/examples/DerivingVia.hs" 119 29 119 31-                         , SrcSpan "tests/examples/DerivingVia.hs" 119 38 119 39-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 28-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26-                                 , srcInfoPoints = []-                                 }-                               "StateT")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28-                              , srcInfoPoints = []-                              }-                            "s")))-                   (TyCon-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38-                        , srcInfoPoints = []-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38-                              , srcInfoPoints = []-                              }-                            "MTrans"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 8-                          , srcInfoPoints = []-                          }-                        "hoist"-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 63-                         , srcInfoPoints = []-                         }-                       Nothing-                       (Just-                          (CxSingle-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]-                               }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 17-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 17-                                        , srcInfoPoints = []-                                        }-                                      "Monad"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19-                                         , srcInfoPoints = []-                                         }-                                       "m")-                                ])))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 63-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 120 33 120 35 ]-                            }-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 32-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 24-                                   , SrcSpan "tests/examples/DerivingVia.hs" 120 31 120 32-                                   ]-                               }-                             (TyInfix-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 31-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25-                                        , srcInfoPoints = []-                                        }-                                      "m"))-                                (UnpromotedName-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28-                                        , srcInfoPoints = []-                                        }-                                      (Symbol-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28-                                           , srcInfoPoints = []-                                           }-                                         "~>")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31-                                        , srcInfoPoints = []-                                        }-                                      "m'"))))-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 63-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 37-                                   , SrcSpan "tests/examples/DerivingVia.hs" 120 62 120 63-                                   ]-                               }-                             (TyInfix-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 62-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 47-                                     , srcInfoPoints = []-                                     }-                                   (TyApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 45-                                        , srcInfoPoints = []-                                        }-                                      (TyCon-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 43-                                           , srcInfoPoints = []-                                           }-                                         (UnQual-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 120 37 120 43-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 120 37 120 43-                                                 , srcInfoPoints = []-                                                 }-                                               "StateT")))-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 120 44 120 45-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 120 44 120 45-                                              , srcInfoPoints = []-                                              }-                                            "s")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47-                                           , srcInfoPoints = []-                                           }-                                         "m")))-                                (UnpromotedName-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50-                                        , srcInfoPoints = []-                                        }-                                      (Symbol-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50-                                           , srcInfoPoints = []-                                           }-                                         "~>")))-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 62-                                     , srcInfoPoints = []-                                     }-                                   (TyApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 59-                                        , srcInfoPoints = []-                                        }-                                      (TyCon-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 57-                                           , srcInfoPoints = []-                                           }-                                         (UnQual-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 120 51 120 57-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 120 51 120 57-                                                 , srcInfoPoints = []-                                                 }-                                               "StateT")))-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 120 58 120 59-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 120 58 120 59-                                              , srcInfoPoints = []-                                              }-                                            "s")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62-                                           , srcInfoPoints = []-                                           }-                                         "m'"))))))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 8-                             , srcInfoPoints = []-                             }-                           "hoist")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12-                                 , srcInfoPoints = []-                                 }-                               "nat")-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 44-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 14 ]-                             }-                           (InfixApp-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 44-                                , srcInfoPoints = []-                                }-                              (Con-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21-                                         , srcInfoPoints = []-                                         }-                                       "StateT")))-                              (QVarOp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23-                                      , srcInfoPoints = []-                                      }-                                    (Symbol-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23-                                         , srcInfoPoints = []-                                         }-                                       ".")))-                              (InfixApp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 44-                                   , srcInfoPoints = []-                                   }-                                 (App-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 32-                                      , srcInfoPoints = []-                                      }-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 28-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 121 24 121 28-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 121 24 121 28-                                               , srcInfoPoints = []-                                               }-                                             "fmap")))-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 121 29 121 32-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 121 29 121 32-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 121 29 121 32-                                               , srcInfoPoints = []-                                               }-                                             "nat"))))-                                 (QVarOp-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34-                                         , srcInfoPoints = []-                                         }-                                       (Symbol-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 121 33 121 34-                                            , srcInfoPoints = []-                                            }-                                          ".")))-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 121 35 121 44-                                            , srcInfoPoints = []-                                            }-                                          "runStateT"))))))-                        Nothing-                    ])-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 123 1 127 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 9-                , SrcSpan "tests/examples/DerivingVia.hs" 123 41 123 46-                , SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 3-                , SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 3-                , SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18-                           , srcInfoPoints = []-                           }-                         "MFunctor")))-                (TyKind-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 40-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 20-                         , SrcSpan "tests/examples/DerivingVia.hs" 123 30 123 32-                         , SrcSpan "tests/examples/DerivingVia.hs" 123 39 123 40-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 29-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27-                                 , srcInfoPoints = []-                                 }-                               "WriterT")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29-                              , srcInfoPoints = []-                              }-                            "w")))-                   (TyCon-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39-                        , srcInfoPoints = []-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39-                              , srcInfoPoints = []-                              }-                            "MTrans"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 8-                          , srcInfoPoints = []-                          }-                        "hoist"-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 65-                         , srcInfoPoints = []-                         }-                       Nothing-                       (Just-                          (CxSingle-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]-                               }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 17-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 17-                                        , srcInfoPoints = []-                                        }-                                      "Monad"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19-                                         , srcInfoPoints = []-                                         }-                                       "m")-                                ])))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 65-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 124 33 124 35 ]-                            }-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 32-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 24-                                   , SrcSpan "tests/examples/DerivingVia.hs" 124 31 124 32-                                   ]-                               }-                             (TyInfix-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 31-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25-                                        , srcInfoPoints = []-                                        }-                                      "m"))-                                (UnpromotedName-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28-                                        , srcInfoPoints = []-                                        }-                                      (Symbol-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28-                                           , srcInfoPoints = []-                                           }-                                         "~>")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31-                                        , srcInfoPoints = []-                                        }-                                      "m'"))))-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 65-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 37-                                   , SrcSpan "tests/examples/DerivingVia.hs" 124 64 124 65-                                   ]-                               }-                             (TyInfix-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 64-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 48-                                     , srcInfoPoints = []-                                     }-                                   (TyApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 46-                                        , srcInfoPoints = []-                                        }-                                      (TyCon-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 44-                                           , srcInfoPoints = []-                                           }-                                         (UnQual-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 124 37 124 44-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 124 37 124 44-                                                 , srcInfoPoints = []-                                                 }-                                               "WriterT")))-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 124 45 124 46-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 124 45 124 46-                                              , srcInfoPoints = []-                                              }-                                            "w")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48-                                           , srcInfoPoints = []-                                           }-                                         "m")))-                                (UnpromotedName-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51-                                        , srcInfoPoints = []-                                        }-                                      (Symbol-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51-                                           , srcInfoPoints = []-                                           }-                                         "~>")))-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 64-                                     , srcInfoPoints = []-                                     }-                                   (TyApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 61-                                        , srcInfoPoints = []-                                        }-                                      (TyCon-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 59-                                           , srcInfoPoints = []-                                           }-                                         (UnQual-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 124 52 124 59-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 124 52 124 59-                                                 , srcInfoPoints = []-                                                 }-                                               "WriterT")))-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 124 60 124 61-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 124 60 124 61-                                              , srcInfoPoints = []-                                              }-                                            "w")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64-                                           , srcInfoPoints = []-                                           }-                                         "m'"))))))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 8-                             , srcInfoPoints = []-                             }-                           "hoist")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12-                                 , srcInfoPoints = []-                                 }-                               "nat")-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 41-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 14 ]-                             }-                           (InfixApp-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 41-                                , srcInfoPoints = []-                                }-                              (Con-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22-                                         , srcInfoPoints = []-                                         }-                                       "WriterT")))-                              (QVarOp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24-                                      , srcInfoPoints = []-                                      }-                                    (Symbol-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24-                                         , srcInfoPoints = []-                                         }-                                       ".")))-                              (InfixApp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 41-                                   , srcInfoPoints = []-                                   }-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 125 25 125 28-                                            , srcInfoPoints = []-                                            }-                                          "nat")))-                                 (QVarOp-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30-                                         , srcInfoPoints = []-                                         }-                                       (Symbol-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 125 29 125 30-                                            , srcInfoPoints = []-                                            }-                                          ".")))-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 125 31 125 41-                                            , srcInfoPoints = []-                                            }-                                          "runWriterT"))))))-                        Nothing-                    ])-             ])-      , InfixDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 20-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 127 8 127 9 ]-            }-          (AssocRight-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 7-               , srcInfoPoints = []-               })-          (Just 9)-          [ ConOp-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11-                    , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19-                    , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20-                    ]-                }-              (Ident-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11-                       , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19-                       , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20-                       ]-                   }-                 "ComposeT")-          ]-      , GDataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 128 1 130 49-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 128 18 128 20-                , SrcSpan "tests/examples/DerivingVia.hs" 128 48 128 53-                , SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 3-                , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3-                , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3-                ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 128 1 128 8-               , srcInfoPoints = []-               })-          Nothing-          (DHead-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17-               , srcInfoPoints = []-               }-             (Ident-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17-                  , srcInfoPoints = []-                  }-                "ComposeT"))-          (Just-             (TyFun-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 47-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/DerivingVia.hs" 128 28 128 30 ]-                  }-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27-                           , srcInfoPoints = []-                           }-                         "MTrans")))-                (TyFun-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 47-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 128 38 128 40 ]-                     }-                   (TyCon-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37-                        , srcInfoPoints = []-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37-                              , srcInfoPoints = []-                              }-                            "MTrans")))-                   (TyCon-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47-                        , srcInfoPoints = []-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47-                              , srcInfoPoints = []-                              }-                            "MTrans"))))))-          [ GadtDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 63-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 129 12 129 14-                    , SrcSpan "tests/examples/DerivingVia.hs" 129 15 129 16-                    , SrcSpan "tests/examples/DerivingVia.hs" 129 42 129 43-                    , SrcSpan "tests/examples/DerivingVia.hs" 129 44 129 46-                    ]-                }-              (Ident-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 11-                   , srcInfoPoints = []-                   }-                 "ComposeT")-              Nothing-              Nothing-              (Just-                 [ FieldDecl-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 41-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 129 29 129 31 ]-                       }-                     [ Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 28-                           , srcInfoPoints = []-                           }-                         "getComposeT"-                     ]-                     (TyApp-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 41-                          , srcInfoPoints = []-                          }-                        (TyApp-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 39-                             , srcInfoPoints = []-                             }-                           (TyVar-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33-                                   , srcInfoPoints = []-                                   }-                                 "f"))-                           (TyParen-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 39-                                , srcInfoPoints =-                                    [ SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 35-                                    , SrcSpan "tests/examples/DerivingVia.hs" 129 38 129 39-                                    ]-                                }-                              (TyApp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 38-                                   , srcInfoPoints = []-                                   }-                                 (TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36-                                         , srcInfoPoints = []-                                         }-                                       "g"))-                                 (TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38-                                         , srcInfoPoints = []-                                         }-                                       "m")))))-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41-                                , srcInfoPoints = []-                                }-                              "a")))-                 ])-              (TyApp-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 63-                   , srcInfoPoints = []-                   }-                 (TyApp-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 61-                      , srcInfoPoints = []-                      }-                    (TyApp-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 59-                         , srcInfoPoints = []-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 57-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55-                                     , srcInfoPoints = []-                                     }-                                   "ComposeT")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57-                                  , srcInfoPoints = []-                                  }-                                "f")))-                       (TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59-                               , srcInfoPoints = []-                               }-                             "g")))-                    (TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61-                            , srcInfoPoints = []-                            }-                          "m")))-                 (TyVar-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63-                      , srcInfoPoints = []-                      }-                    (Ident-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63-                         , srcInfoPoints = []-                         }-                       "a")))-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 49-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 11-                    , SrcSpan "tests/examples/DerivingVia.hs" 130 20 130 21-                    , SrcSpan "tests/examples/DerivingVia.hs" 130 28 130 29-                    , SrcSpan "tests/examples/DerivingVia.hs" 130 41 130 42-                    , SrcSpan "tests/examples/DerivingVia.hs" 130 48 130 49-                    ]-                }-              (Just-                 (DerivNewtype-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 130 12 130 19-                      , srcInfoPoints = []-                      }))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28-                             , srcInfoPoints = []-                             }-                           "Functor")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41-                             , srcInfoPoints = []-                             }-                           "Applicative")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48-                             , srcInfoPoints = []-                             }-                           "Monad")))-              ]-          ]-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 132 1 137 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 132 1 132 9-                , SrcSpan "tests/examples/DerivingVia.hs" 132 84 132 89-                , SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 3-                , SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 3-                , SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 83-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 57-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 132 23 132 24-                         , SrcSpan "tests/examples/DerivingVia.hs" 132 37 132 38-                         , SrcSpan "tests/examples/DerivingVia.hs" 132 53 132 54-                         , SrcSpan "tests/examples/DerivingVia.hs" 132 55 132 57-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21-                               , srcInfoPoints = []-                               }-                             "MonadTrans"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23-                                , srcInfoPoints = []-                                }-                              "f")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35-                               , srcInfoPoints = []-                               }-                             "MonadTrans"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37-                                , srcInfoPoints = []-                                }-                              "g")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51-                               , srcInfoPoints = []-                               }-                             "LiftingMonad"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53-                                , srcInfoPoints = []-                                }-                              "g")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 83-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68-                           , srcInfoPoints = []-                           }-                         "MonadTrans")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 83-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 70-                         , SrcSpan "tests/examples/DerivingVia.hs" 132 82 132 83-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 82-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 80-                           , srcInfoPoints = []-                           }-                         (TyCon-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78-                              , srcInfoPoints = []-                              }-                            (UnQual-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78-                                    , srcInfoPoints = []-                                    }-                                  "ComposeT")))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80-                                 , srcInfoPoints = []-                                 }-                               "f")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82-                              , srcInfoPoints = []-                              }-                            "g"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 7-                          , srcInfoPoints = []-                          }-                        "lift"-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 51-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 17-                             , SrcSpan "tests/examples/DerivingVia.hs" 133 19 133 20-                             ]-                         }-                       (Just-                          [ UnkindedVar-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19-                                   , srcInfoPoints = []-                                   }-                                 "m")-                          ])-                       (Just-                          (CxSingle-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]-                               }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 26-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 26-                                        , srcInfoPoints = []-                                        }-                                      "Monad"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28-                                         , srcInfoPoints = []-                                         }-                                       "m")-                                ])))-                       (TyInfix-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 51-                            , srcInfoPoints = []-                            }-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33-                                  , srcInfoPoints = []-                                  }-                                "m"))-                          (UnpromotedName-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36-                                  , srcInfoPoints = []-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36-                                     , srcInfoPoints = []-                                     }-                                   "~>")))-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 51-                               , srcInfoPoints = []-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 49-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 47-                                     , srcInfoPoints = []-                                     }-                                   (TyCon-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45-                                        , srcInfoPoints = []-                                        }-                                      (UnQual-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 133 37 133 45-                                              , srcInfoPoints = []-                                              }-                                            "ComposeT")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47-                                           , srcInfoPoints = []-                                           }-                                         "f")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49-                                        , srcInfoPoints = []-                                        }-                                      "g")))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51-                                     , srcInfoPoints = []-                                     }-                                   "m"))))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7-                            , srcInfoPoints = []-                            }-                          "lift"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 134 8 135 19-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 134 8 134 9 ]-                         }-                       (InfixApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 134 10 135 19-                            , srcInfoPoints = []-                            }-                          (InfixApp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 32-                               , srcInfoPoints = []-                               }-                             (Con-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18-                                        , srcInfoPoints = []-                                        }-                                      "ComposeT")))-                             (QVarOp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20-                                     , srcInfoPoints = []-                                     }-                                   (Symbol-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20-                                        , srcInfoPoints = []-                                        }-                                      ".")))-                             (InfixApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 32-                                  , srcInfoPoints = []-                                  }-                                (Var-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25-                                           , srcInfoPoints = []-                                           }-                                         "lift")))-                                (QVarOp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27-                                        , srcInfoPoints = []-                                        }-                                      (Symbol-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27-                                           , srcInfoPoints = []-                                           }-                                         ".")))-                                (Var-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32-                                           , srcInfoPoints = []-                                           }-                                         "lift")))))-                          (QVarOp-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7-                                  , srcInfoPoints = []-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7-                                     , srcInfoPoints = []-                                     }-                                   "\\\\")))-                          (App-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 19-                               , srcInfoPoints = []-                               }-                             (App-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 16-                                  , srcInfoPoints = []-                                  }-                                (Var-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13-                                           , srcInfoPoints = []-                                           }-                                         "proof")))-                                (TypeApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 16-                                     , srcInfoPoints =-                                         [ SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 15 ]-                                     }-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16-                                           , srcInfoPoints = []-                                           }-                                         "g"))))-                             (TypeApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 19-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 18 ]-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19-                                        , srcInfoPoints = []-                                        }-                                      "m"))))))-                    Nothing)-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 137 1 146 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 9-                , SrcSpan "tests/examples/DerivingVia.hs" 137 78 137 83-                , SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 3-                , SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 3-                , SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 77-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 53-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 137 21 137 22-                         , SrcSpan "tests/examples/DerivingVia.hs" 137 33 137 34-                         , SrcSpan "tests/examples/DerivingVia.hs" 137 49 137 50-                         , SrcSpan "tests/examples/DerivingVia.hs" 137 51 137 53-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19-                               , srcInfoPoints = []-                               }-                             "MFunctor"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21-                                , srcInfoPoints = []-                                }-                              "f")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31-                               , srcInfoPoints = []-                               }-                             "MFunctor"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33-                                , srcInfoPoints = []-                                }-                              "g")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47-                               , srcInfoPoints = []-                               }-                             "LiftingMonad"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49-                                , srcInfoPoints = []-                                }-                              "g")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 77-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62-                           , srcInfoPoints = []-                           }-                         "MFunctor")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 77-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 64-                         , SrcSpan "tests/examples/DerivingVia.hs" 137 76 137 77-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 76-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 74-                           , srcInfoPoints = []-                           }-                         (TyCon-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72-                              , srcInfoPoints = []-                              }-                            (UnQual-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72-                                    , srcInfoPoints = []-                                    }-                                  "ComposeT")))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74-                                 , srcInfoPoints = []-                                 }-                               "f")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76-                              , srcInfoPoints = []-                              }-                            "g"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 8-                          , srcInfoPoints = []-                          }-                        "hoist"-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 84-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 18-                             , SrcSpan "tests/examples/DerivingVia.hs" 138 23 138 24-                             ]-                         }-                       (Just-                          [ UnkindedVar-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20-                                   , srcInfoPoints = []-                                   }-                                 "m")-                          , UnkindedVar-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23-                                   , srcInfoPoints = []-                                   }-                                 "m'")-                          ])-                       (Just-                          (CxSingle-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]-                               }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 30-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 30-                                        , srcInfoPoints = []-                                        }-                                      "Monad"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32-                                         , srcInfoPoints = []-                                         }-                                       "m")-                                ])))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 84-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 138 46 138 48 ]-                            }-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 45-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 37-                                   , SrcSpan "tests/examples/DerivingVia.hs" 138 44 138 45-                                   ]-                               }-                             (TyInfix-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 44-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38-                                        , srcInfoPoints = []-                                        }-                                      "m"))-                                (UnpromotedName-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41-                                        , srcInfoPoints = []-                                        }-                                      (Symbol-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41-                                           , srcInfoPoints = []-                                           }-                                         "~>")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44-                                        , srcInfoPoints = []-                                        }-                                      "m'"))))-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 84-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 50-                                   , SrcSpan "tests/examples/DerivingVia.hs" 138 83 138 84-                                   ]-                               }-                             (TyInfix-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 83-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 64-                                     , srcInfoPoints = []-                                     }-                                   (TyApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 62-                                        , srcInfoPoints = []-                                        }-                                      (TyApp-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 60-                                           , srcInfoPoints = []-                                           }-                                         (TyCon-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 138 50 138 58-                                              , srcInfoPoints = []-                                              }-                                            (UnQual-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 138 50 138 58-                                                 , srcInfoPoints = []-                                                 }-                                               (Ident-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          138-                                                          50-                                                          138-                                                          58-                                                    , srcInfoPoints = []-                                                    }-                                                  "ComposeT")))-                                         (TyVar-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 138 59 138 60-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 138 59 138 60-                                                 , srcInfoPoints = []-                                                 }-                                               "f")))-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 138 61 138 62-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 138 61 138 62-                                              , srcInfoPoints = []-                                              }-                                            "g")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64-                                           , srcInfoPoints = []-                                           }-                                         "m")))-                                (UnpromotedName-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67-                                        , srcInfoPoints = []-                                        }-                                      (Symbol-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67-                                           , srcInfoPoints = []-                                           }-                                         "~>")))-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 83-                                     , srcInfoPoints = []-                                     }-                                   (TyApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 80-                                        , srcInfoPoints = []-                                        }-                                      (TyApp-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 78-                                           , srcInfoPoints = []-                                           }-                                         (TyCon-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 138 68 138 76-                                              , srcInfoPoints = []-                                              }-                                            (UnQual-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 138 68 138 76-                                                 , srcInfoPoints = []-                                                 }-                                               (Ident-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          138-                                                          68-                                                          138-                                                          76-                                                    , srcInfoPoints = []-                                                    }-                                                  "ComposeT")))-                                         (TyVar-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 138 77 138 78-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 138 77 138 78-                                                 , srcInfoPoints = []-                                                 }-                                               "f")))-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 138 79 138 80-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 138 79 138 80-                                              , srcInfoPoints = []-                                              }-                                            "g")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83-                                           , srcInfoPoints = []-                                           }-                                         "m'"))))))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 8-                             , srcInfoPoints = []-                             }-                           "hoist")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10-                                 , srcInfoPoints = []-                                 }-                               "f")-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 139 11 140 19-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 139 11 139 12 ]-                             }-                           (InfixApp-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 139 13 140 19-                                , srcInfoPoints = []-                                }-                              (InfixApp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 53-                                   , srcInfoPoints = []-                                   }-                                 (Con-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 139 13 139 21-                                            , srcInfoPoints = []-                                            }-                                          "ComposeT")))-                                 (QVarOp-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23-                                         , srcInfoPoints = []-                                         }-                                       (Symbol-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 139 22 139 23-                                            , srcInfoPoints = []-                                            }-                                          ".")))-                                 (InfixApp-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 53-                                      , srcInfoPoints = []-                                      }-                                    (App-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 39-                                         , srcInfoPoints = []-                                         }-                                       (Var-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 139 24 139 29-                                            , srcInfoPoints = []-                                            }-                                          (UnQual-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 139 24 139 29-                                               , srcInfoPoints = []-                                               }-                                             (Ident-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs"-                                                        139-                                                        24-                                                        139-                                                        29-                                                  , srcInfoPoints = []-                                                  }-                                                "hoist")))-                                       (Paren-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 139 30 139 39-                                            , srcInfoPoints =-                                                [ SrcSpan-                                                    "tests/examples/DerivingVia.hs" 139 30 139 31-                                                , SrcSpan-                                                    "tests/examples/DerivingVia.hs" 139 38 139 39-                                                ]-                                            }-                                          (App-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 139 31 139 38-                                               , srcInfoPoints = []-                                               }-                                             (Var-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs"-                                                        139-                                                        31-                                                        139-                                                        36-                                                  , srcInfoPoints = []-                                                  }-                                                (UnQual-                                                   SrcSpanInfo-                                                     { srcInfoSpan =-                                                         SrcSpan-                                                           "tests/examples/DerivingVia.hs"-                                                           139-                                                           31-                                                           139-                                                           36-                                                     , srcInfoPoints = []-                                                     }-                                                   (Ident-                                                      SrcSpanInfo-                                                        { srcInfoSpan =-                                                            SrcSpan-                                                              "tests/examples/DerivingVia.hs"-                                                              139-                                                              31-                                                              139-                                                              36-                                                        , srcInfoPoints = []-                                                        }-                                                      "hoist")))-                                             (Var-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs"-                                                        139-                                                        37-                                                        139-                                                        38-                                                  , srcInfoPoints = []-                                                  }-                                                (UnQual-                                                   SrcSpanInfo-                                                     { srcInfoSpan =-                                                         SrcSpan-                                                           "tests/examples/DerivingVia.hs"-                                                           139-                                                           37-                                                           139-                                                           38-                                                     , srcInfoPoints = []-                                                     }-                                                   (Ident-                                                      SrcSpanInfo-                                                        { srcInfoSpan =-                                                            SrcSpan-                                                              "tests/examples/DerivingVia.hs"-                                                              139-                                                              37-                                                              139-                                                              38-                                                        , srcInfoPoints = []-                                                        }-                                                      "f"))))))-                                    (QVarOp-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 139 40 139 41-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 139 40 139 41-                                            , srcInfoPoints = []-                                            }-                                          (Symbol-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 139 40 139 41-                                               , srcInfoPoints = []-                                               }-                                             ".")))-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 139 42 139 53-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 139 42 139 53-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 139 42 139 53-                                               , srcInfoPoints = []-                                               }-                                             "getComposeT")))))-                              (QVarOp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7-                                      , srcInfoPoints = []-                                      }-                                    (Symbol-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7-                                         , srcInfoPoints = []-                                         }-                                       "\\\\")))-                              (App-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 19-                                   , srcInfoPoints = []-                                   }-                                 (App-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 16-                                      , srcInfoPoints = []-                                      }-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 140 8 140 13-                                               , srcInfoPoints = []-                                               }-                                             "proof")))-                                    (TypeApp-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 16-                                         , srcInfoPoints =-                                             [ SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 15-                                             ]-                                         }-                                       (TyVar-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 140 15 140 16-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 140 15 140 16-                                               , srcInfoPoints = []-                                               }-                                             "g"))))-                                 (TypeApp-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 19-                                      , srcInfoPoints =-                                          [ SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 18 ]-                                      }-                                    (TyVar-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 140 18 140 19-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 140 18 140 19-                                            , srcInfoPoints = []-                                            }-                                          "m"))))))-                        Nothing-                    ])-             ])-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 146 1 150 22-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 146 13 146 14 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 12-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10-                     , srcInfoPoints = []-                     }-                   "X"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 16-                      , srcInfoPoints = []-                      }-                    "X")-                 [ TyTuple-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 23-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 18-                           , SrcSpan "tests/examples/DerivingVia.hs" 146 19 146 20-                           , SrcSpan "tests/examples/DerivingVia.hs" 146 22 146 23-                           ]-                       }-                     Boxed-                     [ TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19-                              , srcInfoPoints = []-                              }-                            "a")-                     , TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22-                              , srcInfoPoints = []-                              }-                            "a")-                     ]-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 31-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 11-                    , SrcSpan "tests/examples/DerivingVia.hs" 147 12 147 13-                    , SrcSpan "tests/examples/DerivingVia.hs" 147 22 147 23-                    , SrcSpan "tests/examples/DerivingVia.hs" 147 30 147 31-                    ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 148 8 148 11-                      , srcInfoPoints = []-                      }-                    (TyTuple-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 30-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 13-                             , SrcSpan "tests/examples/DerivingVia.hs" 148 22 148 23-                             , SrcSpan "tests/examples/DerivingVia.hs" 148 29 148 30-                             ]-                         }-                       Boxed-                       [ TyApp-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 22-                             , srcInfoPoints = []-                             }-                           (TyCon-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20-                                , srcInfoPoints = []-                                }-                              (UnQual-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20-                                   , srcInfoPoints = []-                                   }-                                 (Ident-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20-                                      , srcInfoPoints = []-                                      }-                                    "Product")))-                           (TyVar-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22-                                   , srcInfoPoints = []-                                   }-                                 "a"))-                       , TyApp-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 29-                             , srcInfoPoints = []-                             }-                           (TyCon-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27-                                , srcInfoPoints = []-                                }-                              (UnQual-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27-                                   , srcInfoPoints = []-                                   }-                                 (Ident-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27-                                      , srcInfoPoints = []-                                      }-                                    "Sum")))-                           (TyVar-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29-                                   , srcInfoPoints = []-                                   }-                                 "a"))-                       ])))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22-                             , srcInfoPoints = []-                             }-                           "Semigroup")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30-                             , srcInfoPoints = []-                             }-                           "Monoid")))-              ]-          , Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 22-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 11-                    , SrcSpan "tests/examples/DerivingVia.hs" 150 12 150 13-                    , SrcSpan "tests/examples/DerivingVia.hs" 150 17 150 18-                    , SrcSpan "tests/examples/DerivingVia.hs" 150 21 150 22-                    ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 151 8 151 11-                      , srcInfoPoints = []-                      }-                    (TyTuple-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 18-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 13-                             , SrcSpan "tests/examples/DerivingVia.hs" 151 14 151 15-                             , SrcSpan "tests/examples/DerivingVia.hs" 151 17 151 18-                             ]-                         }-                       Boxed-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14-                                , srcInfoPoints = []-                                }-                              "a")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17-                                , srcInfoPoints = []-                                }-                              "a")-                       ])))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17-                             , srcInfoPoints = []-                             }-                           "Show")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21-                             , srcInfoPoints = []-                             }-                           "Eq")))-              ]-          ]-      , ClassDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 157 1 158 18-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 157 1 157 6-                , SrcSpan "tests/examples/DerivingVia.hs" 157 11 157 16-                , SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 3-                , SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 0-                ]-            }-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 10-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8-                     , srcInfoPoints = []-                     }-                   "C"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10-                     , srcInfoPoints = []-                     }-                   "f")))-          []-          (Just-             [ ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 4-                          , srcInfoPoints = []-                          }-                        "c"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 18-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 158 12 158 14 ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 11-                            , srcInfoPoints = []-                            }-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9-                                  , srcInfoPoints = []-                                  }-                                "f"))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11-                                  , srcInfoPoints = []-                                  }-                                "a")))-                       (TyCon-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18-                                  , srcInfoPoints = []-                                  }-                                "Int")))))-             ])-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 26-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 160 16 160 17 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 15-               , srcInfoPoints = []-               }-             (DHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 13-                  , srcInfoPoints = []-                  }-                (DHead-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11-                     , srcInfoPoints = []-                     }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11-                        , srcInfoPoints = []-                        }-                      "X2"))-                (UnkindedVar-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13-                     , srcInfoPoints = []-                     }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13-                        , srcInfoPoints = []-                        }-                      "f")))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 20-                      , srcInfoPoints = []-                      }-                    "X2")-                 [ TyParen-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 26-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 22-                           , SrcSpan "tests/examples/DerivingVia.hs" 160 25 160 26-                           ]-                       }-                     (TyApp-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 25-                          , srcInfoPoints = []-                          }-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23-                                , srcInfoPoints = []-                                }-                              "f"))-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25-                                , srcInfoPoints = []-                                }-                              "a")))-                 ])-          ]-          []-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 162 1 165 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 162 1 162 9-                , SrcSpan "tests/examples/DerivingVia.hs" 162 19 162 24-                , SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 3-                , SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11-                           , srcInfoPoints = []-                           }-                         "C")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 18-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 13-                         , SrcSpan "tests/examples/DerivingVia.hs" 162 17 162 18-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 17-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15-                                 , srcInfoPoints = []-                                 }-                               "X2")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17-                              , srcInfoPoints = []-                              }-                            "f"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4-                            , srcInfoPoints = []-                            }-                          "c"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 14-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 6 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 14-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12-                                     , srcInfoPoints = []-                                     }-                                   "const")))-                          (Lit-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14-                               , srcInfoPoints = []-                               }-                             (Int-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14-                                  , srcInfoPoints = []-                                  }-                                0-                                "0"))))-                    Nothing)-             ])-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 35-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 9-                , SrcSpan "tests/examples/DerivingVia.hs" 165 22 165 30-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 165 10 165 13-                  , srcInfoPoints = []-                  }-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 21-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 15-                         , SrcSpan "tests/examples/DerivingVia.hs" 165 20 165 21-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 20-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17-                                 , srcInfoPoints = []-                                 }-                               "X2")))-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20-                                 , srcInfoPoints = []-                                 }-                               "IO")))))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32-                           , srcInfoPoints = []-                           }-                         "C")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35-                           , srcInfoPoints = []-                           }-                         "IO")))))-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 46-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 171 14 171 15 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 13-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11-                     , srcInfoPoints = []-                     }-                   "P0"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 18-                      , srcInfoPoints = []-                      }-                    "P0")-                 [ TyVar-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20-                          , srcInfoPoints = []-                          }-                        "a")-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 46-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 41 ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 171 47 171 50-                      , srcInfoPoints = []-                      }-                    (TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52-                            , srcInfoPoints = []-                            }-                          "a"))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46-                             , srcInfoPoints = []-                             }-                           "Show")))-              ]-          ]-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 46-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 172 14 172 15 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 13-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11-                     , srcInfoPoints = []-                     }-                   "P1"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 18-                      , srcInfoPoints = []-                      }-                    "P1")-                 [ TyList-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 22-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 20-                           , SrcSpan "tests/examples/DerivingVia.hs" 172 21 172 22-                           ]-                       }-                     (TyVar-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21-                             , srcInfoPoints = []-                             }-                           "a"))-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 46-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 41 ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 172 47 172 50-                      , srcInfoPoints = []-                      }-                    (TyList-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 54-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 52-                             , SrcSpan "tests/examples/DerivingVia.hs" 172 53 172 54-                             ]-                         }-                       (TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53-                               , srcInfoPoints = []-                               }-                             "a")))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46-                             , srcInfoPoints = []-                             }-                           "Show")))-              ]-          ]-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 46-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 173 14 173 15 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 13-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11-                     , srcInfoPoints = []-                     }-                   "P2"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 18-                      , srcInfoPoints = []-                      }-                    "P2")-                 [ TyTuple-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 25-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 20-                           , SrcSpan "tests/examples/DerivingVia.hs" 173 21 173 22-                           , SrcSpan "tests/examples/DerivingVia.hs" 173 24 173 25-                           ]-                       }-                     Boxed-                     [ TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21-                              , srcInfoPoints = []-                              }-                            "a")-                     , TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24-                              , srcInfoPoints = []-                              }-                            "a")-                     ]-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 46-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 41 ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 173 47 173 50-                      , srcInfoPoints = []-                      }-                    (TyTuple-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 57-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 52-                             , SrcSpan "tests/examples/DerivingVia.hs" 173 53 173 54-                             , SrcSpan "tests/examples/DerivingVia.hs" 173 56 173 57-                             ]-                         }-                       Boxed-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53-                                , srcInfoPoints = []-                                }-                              "a")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56-                                , srcInfoPoints = []-                                }-                              "a")-                       ])))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46-                             , srcInfoPoints = []-                             }-                           "Show")))-              ]-          ]-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 46-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 174 14 174 15 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 13-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11-                     , srcInfoPoints = []-                     }-                   "P3"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 18-                      , srcInfoPoints = []-                      }-                    "P3")-                 [ TyParen-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 28-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 20-                           , SrcSpan "tests/examples/DerivingVia.hs" 174 27 174 28-                           ]-                       }-                     (TyApp-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 27-                          , srcInfoPoints = []-                          }-                        (TyCon-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25-                             , srcInfoPoints = []-                             }-                           (UnQual-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25-                                   , srcInfoPoints = []-                                   }-                                 "Maybe")))-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27-                                , srcInfoPoints = []-                                }-                              "a")))-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 46-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 41 ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 174 47 174 50-                      , srcInfoPoints = []-                      }-                    (TyParen-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 60-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 52-                             , SrcSpan "tests/examples/DerivingVia.hs" 174 59 174 60-                             ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 59-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57-                                     , srcInfoPoints = []-                                     }-                                   "First")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59-                                  , srcInfoPoints = []-                                  }-                                "a"))))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46-                             , srcInfoPoints = []-                             }-                           "Show")))-              ]-          ]-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 46-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 175 14 175 15 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 13-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11-                     , srcInfoPoints = []-                     }-                   "P4"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 18-                      , srcInfoPoints = []-                      }-                    "P4")-                 [ TyParen-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 28-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 20-                           , SrcSpan "tests/examples/DerivingVia.hs" 175 27 175 28-                           ]-                       }-                     (TyApp-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 27-                          , srcInfoPoints = []-                          }-                        (TyCon-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25-                             , srcInfoPoints = []-                             }-                           (UnQual-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25-                                   , srcInfoPoints = []-                                   }-                                 "Maybe")))-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27-                                , srcInfoPoints = []-                                }-                              "a")))-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 46-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 41 ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 175 47 175 50-                      , srcInfoPoints = []-                      }-                    (TyParen-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 62-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 52-                             , SrcSpan "tests/examples/DerivingVia.hs" 175 61 175 62-                             ]-                         }-                       (TyInfix-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 61-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57-                                     , srcInfoPoints = []-                                     }-                                   "First")))-                          (UnpromotedName-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59-                                  , srcInfoPoints = []-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59-                                     , srcInfoPoints = []-                                     }-                                   "$")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61-                                  , srcInfoPoints = []-                                  }-                                "a"))))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46-                             , srcInfoPoints = []-                             }-                           "Show")))-              ]-          ]-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 46-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 176 14 176 15 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 13-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11-                     , srcInfoPoints = []-                     }-                   "P5"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 18-                      , srcInfoPoints = []-                      }-                    "P5")-                 [ TyVar-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20-                          , srcInfoPoints = []-                          }-                        "a")-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 46-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 41 ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 176 47 176 50-                      , srcInfoPoints = []-                      }-                    (TyParen-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 65-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 52-                             , SrcSpan "tests/examples/DerivingVia.hs" 176 64 176 65-                             ]-                         }-                       (TyInfix-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 64-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60-                                     , srcInfoPoints = []-                                     }-                                   "Identity")))-                          (UnpromotedName-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62-                                  , srcInfoPoints = []-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62-                                     , srcInfoPoints = []-                                     }-                                   "$")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64-                                  , srcInfoPoints = []-                                  }-                                "a"))))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46-                             , srcInfoPoints = []-                             }-                           "Show")))-              ]-          ]-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 46-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 177 14 177 15 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 13-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11-                     , srcInfoPoints = []-                     }-                   "P6"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 18-                      , srcInfoPoints = []-                      }-                    "P6")-                 [ TyList-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 22-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 20-                           , SrcSpan "tests/examples/DerivingVia.hs" 177 21 177 22-                           ]-                       }-                     (TyVar-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21-                             , srcInfoPoints = []-                             }-                           "a"))-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 46-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 41 ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 177 47 177 50-                      , srcInfoPoints = []-                      }-                    (TyParen-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 59-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 52-                             , SrcSpan "tests/examples/DerivingVia.hs" 177 58 177 59-                             ]-                         }-                       (TyInfix-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 58-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53-                                   , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54-                                   ]-                               }-                             (Special-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53-                                      , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54-                                      ]-                                  }-                                (ListCon-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54-                                     , srcInfoPoints =-                                         [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53-                                         , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54-                                         ]-                                     })))-                          (UnpromotedName-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56-                                  , srcInfoPoints = []-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56-                                     , srcInfoPoints = []-                                     }-                                   "$")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58-                                  , srcInfoPoints = []-                                  }-                                "a"))))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46-                             , srcInfoPoints = []-                             }-                           "Show")))-              ]-          ]-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 46-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 178 14 178 15 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 13-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11-                     , srcInfoPoints = []-                     }-                   "P7"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 18-                      , srcInfoPoints = []-                      }-                    "P7")-                 [ TyTuple-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 25-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 20-                           , SrcSpan "tests/examples/DerivingVia.hs" 178 21 178 22-                           , SrcSpan "tests/examples/DerivingVia.hs" 178 24 178 25-                           ]-                       }-                     Boxed-                     [ TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21-                              , srcInfoPoints = []-                              }-                            "a")-                     , TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24-                              , srcInfoPoints = []-                              }-                            "a")-                     ]-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 46-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 41 ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 178 47 178 50-                      , srcInfoPoints = []-                      }-                    (TyParen-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 70-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 52-                             , SrcSpan "tests/examples/DerivingVia.hs" 178 69 178 70-                             ]-                         }-                       (TyInfix-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 69-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60-                                     , srcInfoPoints = []-                                     }-                                   "Identity")))-                          (UnpromotedName-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62-                                  , srcInfoPoints = []-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62-                                     , srcInfoPoints = []-                                     }-                                   "$")))-                          (TyTuple-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 69-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 64-                                   , SrcSpan "tests/examples/DerivingVia.hs" 178 65 178 66-                                   , SrcSpan "tests/examples/DerivingVia.hs" 178 68 178 69-                                   ]-                               }-                             Boxed-                             [ TyVar-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65-                                   , srcInfoPoints = []-                                   }-                                 (Ident-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65-                                      , srcInfoPoints = []-                                      }-                                    "a")-                             , TyVar-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68-                                   , srcInfoPoints = []-                                   }-                                 (Ident-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68-                                      , srcInfoPoints = []-                                      }-                                    "a")-                             ])))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46-                             , srcInfoPoints = []-                             }-                           "Show")))-              ]-          ]-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 49-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 179 14 179 15 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 13-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11-                     , srcInfoPoints = []-                     }-                   "P8"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 18-                      , srcInfoPoints = []-                      }-                    "P8")-                 [ TyParen-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 32-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 20-                           , SrcSpan "tests/examples/DerivingVia.hs" 179 31 179 32-                           ]-                       }-                     (TyApp-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 31-                          , srcInfoPoints = []-                          }-                        (TyApp-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 29-                             , srcInfoPoints = []-                             }-                           (TyCon-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26-                                , srcInfoPoints = []-                                }-                              (UnQual-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26-                                   , srcInfoPoints = []-                                   }-                                 (Ident-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26-                                      , srcInfoPoints = []-                                      }-                                    "Either")))-                           (TyCon-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29-                                , srcInfoPoints =-                                    [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28-                                    , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29-                                    ]-                                }-                              (Special-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29-                                   , srcInfoPoints =-                                       [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28-                                       , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29-                                       ]-                                   }-                                 (UnitCon-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29-                                      , srcInfoPoints =-                                          [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28-                                          , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29-                                          ]-                                      }))))-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31-                                , srcInfoPoints = []-                                }-                              "a")))-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 49-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 41 ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 179 50 179 53-                      , srcInfoPoints = []-                      }-                    (TyParen-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 71-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 55-                             , SrcSpan "tests/examples/DerivingVia.hs" 179 70 179 71-                             ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 70-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56-                                   , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57-                                   , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58-                                   ]-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56-                                      , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57-                                      , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58-                                      ]-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57-                                     , srcInfoPoints = []-                                     }-                                   "$")))-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 70-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 60-                                   , SrcSpan "tests/examples/DerivingVia.hs" 179 69 179 70-                                   ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 69-                                  , srcInfoPoints = []-                                  }-                                (TyCon-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66-                                           , srcInfoPoints = []-                                           }-                                         "Either")))-                                (TyCon-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69-                                     , srcInfoPoints =-                                         [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68-                                         , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69-                                         ]-                                     }-                                   (Special-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69-                                        , srcInfoPoints =-                                            [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68-                                            , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69-                                            ]-                                        }-                                      (UnitCon-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69-                                           , srcInfoPoints =-                                               [ SrcSpan-                                                   "tests/examples/DerivingVia.hs" 179 67 179 68-                                               , SrcSpan-                                                   "tests/examples/DerivingVia.hs" 179 68 179 69-                                               ]-                                           })))))))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49-                             , srcInfoPoints = []-                             }-                           "Functor")))-              ]-          ]-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 73-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 181 15 181 16 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14-               , srcInfoPoints = []-               }-             (DHInfix-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14-                  , srcInfoPoints = []-                  }-                (UnkindedVar-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10-                     , srcInfoPoints = []-                     }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10-                        , srcInfoPoints = []-                        }-                      "f"))-                (Symbol-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 181 11 181 12-                     , srcInfoPoints = []-                     }-                   "$"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 20-                      , srcInfoPoints = []-                      }-                    "APP")-                 [ TyParen-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 26-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 22-                           , SrcSpan "tests/examples/DerivingVia.hs" 181 25 181 26-                           ]-                       }-                     (TyApp-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 25-                          , srcInfoPoints = []-                          }-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23-                                , srcInfoPoints = []-                                }-                              "f"))-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25-                                , srcInfoPoints = []-                                }-                              "a")))-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 48-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 35 ]-                }-              (Just-                 (DerivNewtype-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 181 36 181 43-                      , srcInfoPoints = []-                      }))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48-                             , srcInfoPoints = []-                             }-                           "Show")))-              ]-          , Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 73-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 57 ]-                }-              (Just-                 (DerivNewtype-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 181 58 181 65-                      , srcInfoPoints = []-                      }))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73-                             , srcInfoPoints = []-                             }-                           "Functor")))-              ]-          ]-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 190 1 191 34-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 190 29 190 30 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 190 1 190 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 28-               , srcInfoPoints = []-               }-             (DHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 26-                  , srcInfoPoints = []-                  }-                (DHead-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24-                     , srcInfoPoints = []-                     }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24-                        , srcInfoPoints = []-                        }-                      "WrapApplicative"))-                (UnkindedVar-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26-                     , srcInfoPoints = []-                     }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26-                        , srcInfoPoints = []-                        }-                      "f")))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 49-                      , srcInfoPoints = []-                      }-                    "WrappedApplicative")-                 [ TyParen-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 55-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 51-                           , SrcSpan "tests/examples/DerivingVia.hs" 190 54 190 55-                           ]-                       }-                     (TyApp-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 54-                          , srcInfoPoints = []-                          }-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52-                                , srcInfoPoints = []-                                }-                              "f"))-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54-                                , srcInfoPoints = []-                                }-                              "a")))-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 34-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 11-                    , SrcSpan "tests/examples/DerivingVia.hs" 191 12 191 13-                    , SrcSpan "tests/examples/DerivingVia.hs" 191 20 191 21-                    , SrcSpan "tests/examples/DerivingVia.hs" 191 33 191 34-                    ]-                }-              Nothing-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20-                             , srcInfoPoints = []-                             }-                           "Functor")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33-                             , srcInfoPoints = []-                             }-                           "Applicative")))-              ]-          ]-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 193 1 201 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 193 1 193 9-                , SrcSpan "tests/examples/DerivingVia.hs" 193 62 193 67-                , SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 3-                , SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 3-                , SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 3-                , SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 3-                , SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 3-                , SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 3-                , SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 61-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 35-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 193 24 193 25-                         , SrcSpan "tests/examples/DerivingVia.hs" 193 31 193 32-                         , SrcSpan "tests/examples/DerivingVia.hs" 193 33 193 35-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22-                               , srcInfoPoints = []-                               }-                             "Applicative"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24-                                , srcInfoPoints = []-                                }-                              "f")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29-                               , srcInfoPoints = []-                               }-                             "Num"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 61-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39-                           , srcInfoPoints = []-                           }-                         "Num")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 61-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 41-                         , SrcSpan "tests/examples/DerivingVia.hs" 193 60 193 61-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 60-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 58-                           , srcInfoPoints = []-                           }-                         (TyCon-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56-                              , srcInfoPoints = []-                              }-                            (UnQual-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56-                                    , srcInfoPoints = []-                                    }-                                  "WrapApplicative")))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58-                                 , srcInfoPoints = []-                                 }-                               "f")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60-                              , srcInfoPoints = []-                              }-                            "a"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 6-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 4-                             , SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5-                             , SrcSpan "tests/examples/DerivingVia.hs" 194 5 194 6-                             ]-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5-                            , srcInfoPoints = []-                            }-                          "+"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 27-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 16 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 27-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23-                                     , srcInfoPoints = []-                                     }-                                   "liftA2")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25-                                   , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26-                                   , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27-                                   ]-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25-                                      , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26-                                      , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27-                                      ]-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26-                                     , srcInfoPoints = []-                                     }-                                   "+")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 6-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 4-                             , SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5-                             , SrcSpan "tests/examples/DerivingVia.hs" 195 5 195 6-                             ]-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5-                            , srcInfoPoints = []-                            }-                          "*"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 27-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 16 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 27-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23-                                     , srcInfoPoints = []-                                     }-                                   "liftA2")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25-                                   , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26-                                   , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27-                                   ]-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25-                                      , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26-                                      , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27-                                      ]-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26-                                     , srcInfoPoints = []-                                     }-                                   "*")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9-                            , srcInfoPoints = []-                            }-                          "negate"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 28-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 16 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 28-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28-                                     , srcInfoPoints = []-                                     }-                                   "negate")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14-                            , srcInfoPoints = []-                            }-                          "fromInteger"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 35-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 16 ]-                         }-                       (InfixApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 35-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21-                                     , srcInfoPoints = []-                                     }-                                   "pure")))-                          (QVarOp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23-                                  , srcInfoPoints = []-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23-                                     , srcInfoPoints = []-                                     }-                                   ".")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35-                                     , srcInfoPoints = []-                                     }-                                   "fromInteger")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6-                            , srcInfoPoints = []-                            }-                          "abs"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 25-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 16 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 25-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25-                                     , srcInfoPoints = []-                                     }-                                   "abs")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9-                            , srcInfoPoints = []-                            }-                          "signum"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 28-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 16 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 28-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28-                                     , srcInfoPoints = []-                                     }-                                   "signum")))))-                    Nothing)-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 201 1 205 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 9-                , SrcSpan "tests/examples/DerivingVia.hs" 201 76 201 81-                , SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 3-                , SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 3-                , SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 75-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 42-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 201 24 201 25-                         , SrcSpan "tests/examples/DerivingVia.hs" 201 38 201 39-                         , SrcSpan "tests/examples/DerivingVia.hs" 201 40 201 42-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22-                               , srcInfoPoints = []-                               }-                             "Applicative"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24-                                , srcInfoPoints = []-                                }-                              "f")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36-                               , srcInfoPoints = []-                               }-                             "Fractional"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 75-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53-                           , srcInfoPoints = []-                           }-                         "Fractional")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 75-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 55-                         , SrcSpan "tests/examples/DerivingVia.hs" 201 74 201 75-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 74-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 72-                           , srcInfoPoints = []-                           }-                         (TyCon-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70-                              , srcInfoPoints = []-                              }-                            (UnQual-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70-                                    , srcInfoPoints = []-                                    }-                                  "WrapApplicative")))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72-                                 , srcInfoPoints = []-                                 }-                               "f")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74-                              , srcInfoPoints = []-                              }-                            "a"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8-                            , srcInfoPoints = []-                            }-                          "recip"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 28-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 17 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 28-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28-                                     , srcInfoPoints = []-                                     }-                                   "recip")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15-                            , srcInfoPoints = []-                            }-                          "fromRational"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 37-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 17 ]-                         }-                       (InfixApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 37-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22-                                     , srcInfoPoints = []-                                     }-                                   "pure")))-                          (QVarOp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24-                                  , srcInfoPoints = []-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24-                                     , srcInfoPoints = []-                                     }-                                   ".")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37-                                     , srcInfoPoints = []-                                     }-                                   "fromRational")))))-                    Nothing)-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 205 1 221 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 9-                , SrcSpan "tests/examples/DerivingVia.hs" 205 72 205 77-                , SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 3-                , SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 3-                , SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 3-                , SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 3-                , SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 3-                , SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 3-                , SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 3-                , SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 3-                , SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 3-                , SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 3-                , SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 3-                , SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 3-                , SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 3-                , SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 3-                , SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 71-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 40-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 205 24 205 25-                         , SrcSpan "tests/examples/DerivingVia.hs" 205 36 205 37-                         , SrcSpan "tests/examples/DerivingVia.hs" 205 38 205 40-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22-                               , srcInfoPoints = []-                               }-                             "Applicative"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24-                                , srcInfoPoints = []-                                }-                              "f")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34-                               , srcInfoPoints = []-                               }-                             "Floating"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 71-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49-                           , srcInfoPoints = []-                           }-                         "Floating")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 71-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 51-                         , SrcSpan "tests/examples/DerivingVia.hs" 205 70 205 71-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 70-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 68-                           , srcInfoPoints = []-                           }-                         (TyCon-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66-                              , srcInfoPoints = []-                              }-                            (UnQual-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66-                                    , srcInfoPoints = []-                                    }-                                  "WrapApplicative")))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68-                                 , srcInfoPoints = []-                                 }-                               "f")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70-                              , srcInfoPoints = []-                              }-                            "a"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5-                            , srcInfoPoints = []-                            }-                          "pi"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 18-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 18-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15-                                     , srcInfoPoints = []-                                     }-                                   "pure")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18-                                     , srcInfoPoints = []-                                     }-                                   "pi")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7-                            , srcInfoPoints = []-                            }-                          "sqrt"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 20-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 20-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20-                                     , srcInfoPoints = []-                                     }-                                   "sqrt")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6-                            , srcInfoPoints = []-                            }-                          "exp"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 19-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 19-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19-                                     , srcInfoPoints = []-                                     }-                                   "exp")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6-                            , srcInfoPoints = []-                            }-                          "log"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 19-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 19-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19-                                     , srcInfoPoints = []-                                     }-                                   "log")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6-                            , srcInfoPoints = []-                            }-                          "sin"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 19-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 19-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19-                                     , srcInfoPoints = []-                                     }-                                   "sin")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6-                            , srcInfoPoints = []-                            }-                          "cos"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 19-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 19-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19-                                     , srcInfoPoints = []-                                     }-                                   "cos")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7-                            , srcInfoPoints = []-                            }-                          "asin"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 20-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 20-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20-                                     , srcInfoPoints = []-                                     }-                                   "asin")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7-                            , srcInfoPoints = []-                            }-                          "atan"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 20-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 20-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20-                                     , srcInfoPoints = []-                                     }-                                   "atan")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7-                            , srcInfoPoints = []-                            }-                          "acos"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 20-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 20-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20-                                     , srcInfoPoints = []-                                     }-                                   "acos")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7-                            , srcInfoPoints = []-                            }-                          "sinh"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 20-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 20-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20-                                     , srcInfoPoints = []-                                     }-                                   "sinh")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7-                            , srcInfoPoints = []-                            }-                          "cosh"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 20-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 20-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20-                                     , srcInfoPoints = []-                                     }-                                   "cosh")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8-                            , srcInfoPoints = []-                            }-                          "asinh"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 21-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 21-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21-                                     , srcInfoPoints = []-                                     }-                                   "asinh")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8-                            , srcInfoPoints = []-                            }-                          "atanh"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 21-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 21-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21-                                     , srcInfoPoints = []-                                     }-                                   "atanh")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8-                            , srcInfoPoints = []-                            }-                          "acosh"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 21-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 21-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15-                                     , srcInfoPoints = []-                                     }-                                   "fmap")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21-                                     , srcInfoPoints = []-                                     }-                                   "acosh")))))-                    Nothing)-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 221 1 224 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 9-                , SrcSpan "tests/examples/DerivingVia.hs" 221 74 221 79-                , SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 3-                , SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 73-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 41-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 221 24 221 25-                         , SrcSpan "tests/examples/DerivingVia.hs" 221 37 221 38-                         , SrcSpan "tests/examples/DerivingVia.hs" 221 39 221 41-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22-                               , srcInfoPoints = []-                               }-                             "Applicative"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24-                                , srcInfoPoints = []-                                }-                              "f")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35-                               , srcInfoPoints = []-                               }-                             "Semigroup"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37-                                , srcInfoPoints = []-                                }-                              "s")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 73-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51-                           , srcInfoPoints = []-                           }-                         "Semigroup")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 73-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 53-                         , SrcSpan "tests/examples/DerivingVia.hs" 221 72 221 73-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 72-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 70-                           , srcInfoPoints = []-                           }-                         (TyCon-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68-                              , srcInfoPoints = []-                              }-                            (UnQual-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68-                                    , srcInfoPoints = []-                                    }-                                  "WrapApplicative")))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70-                                 , srcInfoPoints = []-                                 }-                               "f")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72-                              , srcInfoPoints = []-                              }-                            "s"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 7-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 4-                             , SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6-                             , SrcSpan "tests/examples/DerivingVia.hs" 222 6 222 7-                             ]-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6-                            , srcInfoPoints = []-                            }-                          "<>"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 21-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 9 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 21-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16-                                     , srcInfoPoints = []-                                     }-                                   "liftA2")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18-                                   , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20-                                   , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21-                                   ]-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18-                                      , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20-                                      , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21-                                      ]-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20-                                     , srcInfoPoints = []-                                     }-                                   "<>")))))-                    Nothing)-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 224 1 230 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 9-                , SrcSpan "tests/examples/DerivingVia.hs" 224 68 224 73-                , SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 3-                , SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 67-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 38-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 224 24 224 25-                         , SrcSpan "tests/examples/DerivingVia.hs" 224 34 224 35-                         , SrcSpan "tests/examples/DerivingVia.hs" 224 36 224 38-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22-                               , srcInfoPoints = []-                               }-                             "Applicative"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24-                                , srcInfoPoints = []-                                }-                              "f")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32-                               , srcInfoPoints = []-                               }-                             "Monoid"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34-                                , srcInfoPoints = []-                                }-                              "m")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 67-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45-                           , srcInfoPoints = []-                           }-                         "Monoid")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 67-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 47-                         , SrcSpan "tests/examples/DerivingVia.hs" 224 66 224 67-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 66-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 64-                           , srcInfoPoints = []-                           }-                         (TyCon-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62-                              , srcInfoPoints = []-                              }-                            (UnQual-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62-                                    , srcInfoPoints = []-                                    }-                                  "WrapApplicative")))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64-                                 , srcInfoPoints = []-                                 }-                               "f")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66-                              , srcInfoPoints = []-                              }-                            "m"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9-                            , srcInfoPoints = []-                            }-                          "mempty"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 23-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 11 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 23-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16-                                     , srcInfoPoints = []-                                     }-                                   "pure")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23-                                     , srcInfoPoints = []-                                     }-                                   "mempty")))))-                    Nothing)-             ])-      , ClassDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 230 1 231 22-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 6-                , SrcSpan "tests/examples/DerivingVia.hs" 230 17 230 22-                , SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 3-                , SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 0-                ]-            }-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 16-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14-                     , srcInfoPoints = []-                     }-                   "Pointed"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16-                     , srcInfoPoints = []-                     }-                   "p")))-          []-          (Just-             [ ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 10-                          , srcInfoPoints = []-                          }-                        "pointed"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 22-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 231 16 231 18 ]-                         }-                       (TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15-                               , srcInfoPoints = []-                               }-                             "a"))-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 22-                            , srcInfoPoints = []-                            }-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20-                                  , srcInfoPoints = []-                                  }-                                "p"))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22-                                  , srcInfoPoints = []-                                  }-                                "a")))))-             ])-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 233 1 234 36-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 233 23 233 24 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 22-               , srcInfoPoints = []-               }-             (DHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 20-                  , srcInfoPoints = []-                  }-                (DHead-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18-                     , srcInfoPoints = []-                     }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18-                        , srcInfoPoints = []-                        }-                      "WrapMonad"))-                (UnkindedVar-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20-                     , srcInfoPoints = []-                     }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20-                        , srcInfoPoints = []-                        }-                      "f")))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 37-                      , srcInfoPoints = []-                      }-                    "WrappedMonad")-                 [ TyParen-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 43-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 39-                           , SrcSpan "tests/examples/DerivingVia.hs" 233 42 233 43-                           ]-                       }-                     (TyApp-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 42-                          , srcInfoPoints = []-                          }-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40-                                , srcInfoPoints = []-                                }-                              "f"))-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42-                                , srcInfoPoints = []-                                }-                              "a")))-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 36-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 11-                    , SrcSpan "tests/examples/DerivingVia.hs" 234 20 234 21-                    , SrcSpan "tests/examples/DerivingVia.hs" 234 28 234 29-                    , SrcSpan "tests/examples/DerivingVia.hs" 234 35 234 36-                    ]-                }-              (Just-                 (DerivNewtype-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 234 12 234 19-                      , srcInfoPoints = []-                      }))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28-                             , srcInfoPoints = []-                             }-                           "Pointed")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35-                             , srcInfoPoints = []-                             }-                           "Monad")))-              ]-          ]-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 236 1 239 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 236 1 236 9-                , SrcSpan "tests/examples/DerivingVia.hs" 236 56 236 61-                , SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 3-                , SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 55-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 33-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 236 18 236 19-                         , SrcSpan "tests/examples/DerivingVia.hs" 236 29 236 30-                         , SrcSpan "tests/examples/DerivingVia.hs" 236 31 236 33-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16-                               , srcInfoPoints = []-                               }-                             "Monad"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18-                                , srcInfoPoints = []-                                }-                              "m")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27-                               , srcInfoPoints = []-                               }-                             "Pointed"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29-                                , srcInfoPoints = []-                                }-                              "m")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 55-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41-                           , srcInfoPoints = []-                           }-                         "Functor")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 55-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 43-                         , SrcSpan "tests/examples/DerivingVia.hs" 236 54 236 55-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 54-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52-                                 , srcInfoPoints = []-                                 }-                               "WrapMonad")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54-                              , srcInfoPoints = []-                              }-                            "m"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7-                            , srcInfoPoints = []-                            }-                          "fmap"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 15-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 9 ]-                         }-                       (Var-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15-                                  , srcInfoPoints = []-                                  }-                                "liftM"))))-                    Nothing)-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 239 1 244 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 9-                , SrcSpan "tests/examples/DerivingVia.hs" 239 60 239 65-                , SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 3-                , SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 3-                , SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 59-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 33-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 239 18 239 19-                         , SrcSpan "tests/examples/DerivingVia.hs" 239 29 239 30-                         , SrcSpan "tests/examples/DerivingVia.hs" 239 31 239 33-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16-                               , srcInfoPoints = []-                               }-                             "Monad"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18-                                , srcInfoPoints = []-                                }-                              "m")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27-                               , srcInfoPoints = []-                               }-                             "Pointed"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29-                                , srcInfoPoints = []-                                }-                              "m")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 59-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45-                           , srcInfoPoints = []-                           }-                         "Applicative")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 59-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 47-                         , SrcSpan "tests/examples/DerivingVia.hs" 239 58 239 59-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 58-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56-                                 , srcInfoPoints = []-                                 }-                               "WrapMonad")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58-                              , srcInfoPoints = []-                              }-                            "m"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7-                            , srcInfoPoints = []-                            }-                          "pure"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 18-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 10 ]-                         }-                       (Var-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18-                                  , srcInfoPoints = []-                                  }-                                "pointed"))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 8-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 4-                             , SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7-                             , SrcSpan "tests/examples/DerivingVia.hs" 241 7 241 8-                             ]-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7-                            , srcInfoPoints = []-                            }-                          "<*>"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 13-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 10 ]-                         }-                       (Var-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13-                                  , srcInfoPoints = []-                                  }-                                "ap"))))-                    Nothing)-             ])-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 244 1 247 58-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 244 15 244 16 ]-            }-          (DataType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 5-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 14-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12-                     , srcInfoPoints = []-                     }-                   "Sorted"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 23-                      , srcInfoPoints = []-                      }-                    "Sorted")-                 [ TyVar-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25-                          , srcInfoPoints = []-                          }-                        "a")-                 , TyVar-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27-                          , srcInfoPoints = []-                          }-                        "a")-                 , TyVar-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29-                          , srcInfoPoints = []-                          }-                        "a")-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 34-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 11-                    , SrcSpan "tests/examples/DerivingVia.hs" 245 12 245 13-                    , SrcSpan "tests/examples/DerivingVia.hs" 245 20 245 21-                    , SrcSpan "tests/examples/DerivingVia.hs" 245 33 245 34-                    ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 246 5 246 8-                      , srcInfoPoints = []-                      }-                    (TyParen-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 27-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 10-                             , SrcSpan "tests/examples/DerivingVia.hs" 246 26 246 27-                             ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 26-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19-                                     , srcInfoPoints = []-                                     }-                                   "WrapMonad")))-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26-                                     , srcInfoPoints = []-                                     }-                                   "Sorted")))))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20-                             , srcInfoPoints = []-                             }-                           "Functor")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33-                             , srcInfoPoints = []-                             }-                           "Applicative")))-              ]-          , Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 58-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 11-                    , SrcSpan "tests/examples/DerivingVia.hs" 247 12 247 13-                    , SrcSpan "tests/examples/DerivingVia.hs" 247 16 247 17-                    , SrcSpan "tests/examples/DerivingVia.hs" 247 28 247 29-                    , SrcSpan "tests/examples/DerivingVia.hs" 247 38 247 39-                    , SrcSpan "tests/examples/DerivingVia.hs" 247 49 247 50-                    , SrcSpan "tests/examples/DerivingVia.hs" 247 57 247 58-                    ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 248 5 248 8-                      , srcInfoPoints = []-                      }-                    (TyParen-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 35-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 10-                             , SrcSpan "tests/examples/DerivingVia.hs" 248 34 248 35-                             ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 34-                            , srcInfoPoints = []-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 32-                               , srcInfoPoints = []-                               }-                             (TyCon-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25-                                        , srcInfoPoints = []-                                        }-                                      "WrapApplicative")))-                             (TyCon-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32-                                        , srcInfoPoints = []-                                        }-                                      "Sorted"))))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34-                                  , srcInfoPoints = []-                                  }-                                "a"))))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16-                             , srcInfoPoints = []-                             }-                           "Num")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28-                             , srcInfoPoints = []-                             }-                           "Fractional")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38-                             , srcInfoPoints = []-                             }-                           "Floating")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49-                             , srcInfoPoints = []-                             }-                           "Semigroup")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57-                             , srcInfoPoints = []-                             }-                           "Monoid")))-              ]-          ]-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 251 1 258 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 251 1 251 9-                , SrcSpan "tests/examples/DerivingVia.hs" 251 23 251 28-                , SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 3-                , SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 3-                , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15-                           , srcInfoPoints = []-                           }-                         "Monad")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22-                           , srcInfoPoints = []-                           }-                         "Sorted")))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]-                      }-                    [ Symbol-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 8-                          , srcInfoPoints =-                              [ SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 4-                              , SrcSpan "tests/examples/DerivingVia.hs" 252 4 252 7-                              , SrcSpan "tests/examples/DerivingVia.hs" 252 7 252 8-                              ]-                          }-                        ">>="-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 51-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 252 21 252 23 ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 20-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18-                                     , srcInfoPoints = []-                                     }-                                   "Sorted")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20-                                  , srcInfoPoints = []-                                  }-                                "a")))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 51-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 252 40 252 42 ]-                            }-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 39-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 25-                                   , SrcSpan "tests/examples/DerivingVia.hs" 252 38 252 39-                                   ]-                               }-                             (TyFun-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 38-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 252 27 252 29 ]-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26-                                        , srcInfoPoints = []-                                        }-                                      "a"))-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 38-                                     , srcInfoPoints = []-                                     }-                                   (TyCon-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36-                                        , srcInfoPoints = []-                                        }-                                      (UnQual-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 252 30 252 36-                                              , srcInfoPoints = []-                                              }-                                            "Sorted")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38-                                           , srcInfoPoints = []-                                           }-                                         "b")))))-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 51-                               , srcInfoPoints = []-                               }-                             (TyCon-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49-                                        , srcInfoPoints = []-                                        }-                                      "Sorted")))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51-                                     , srcInfoPoints = []-                                     }-                                   "b"))))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]-                      }-                    [ InfixMatch-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26-                          , srcInfoPoints =-                              [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]-                          }-                        (PApp-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 15-                             , srcInfoPoints = []-                             }-                           (UnQual-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9-                                   , srcInfoPoints = []-                                   }-                                 "Sorted"))-                           [ PVar-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11-                                    , srcInfoPoints = []-                                    }-                                  "a")-                           , PVar-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13-                                    , srcInfoPoints = []-                                    }-                                  "b")-                           , PVar-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15-                                    , srcInfoPoints = []-                                    }-                                  "c")-                           ])-                        (Symbol-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 253 16 253 19-                             , srcInfoPoints = []-                             }-                           ">>=")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21-                                 , srcInfoPoints = []-                                 }-                               "f")-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 39-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 23 ]-                             }-                           (App-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 39-                                , srcInfoPoints = []-                                }-                              (App-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 36-                                   , srcInfoPoints = []-                                   }-                                 (App-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 33-                                      , srcInfoPoints = []-                                      }-                                    (Con-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 30-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 253 24 253 30-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 253 24 253 30-                                               , srcInfoPoints = []-                                               }-                                             "Sorted")))-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 253 31 253 33-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 253 31 253 33-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 253 31 253 33-                                               , srcInfoPoints = []-                                               }-                                             "a'"))))-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 253 34 253 36-                                            , srcInfoPoints = []-                                            }-                                          "b'"))))-                              (Var-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39-                                         , srcInfoPoints = []-                                         }-                                       "c'")))))-                        (Just-                           (BDecls-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 254 5 256 26-                                , srcInfoPoints =-                                    [ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 5-                                    , SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 5-                                    , SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 5-                                    , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0-                                    ]-                                }-                              [ PatBind-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 26-                                    , srcInfoPoints = []-                                    }-                                  (PApp-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 19-                                       , srcInfoPoints = []-                                       }-                                     (UnQual-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 11-                                          , srcInfoPoints = []-                                          }-                                        (Ident-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan-                                                   "tests/examples/DerivingVia.hs" 254 5 254 11-                                             , srcInfoPoints = []-                                             }-                                           "Sorted"))-                                     [ PVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 254 12 254 14-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 254 12 254 14-                                              , srcInfoPoints = []-                                              }-                                            "a'")-                                     , PWildCard-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 254 15 254 16-                                           , srcInfoPoints = []-                                           }-                                     , PWildCard-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 254 18 254 19-                                           , srcInfoPoints = []-                                           }-                                     ])-                                  (UnGuardedRhs-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 26-                                       , srcInfoPoints =-                                           [ SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 22 ]-                                       }-                                     (App-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/DerivingVia.hs" 254 23 254 26-                                          , srcInfoPoints = []-                                          }-                                        (Var-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan-                                                   "tests/examples/DerivingVia.hs" 254 23 254 24-                                             , srcInfoPoints = []-                                             }-                                           (UnQual-                                              SrcSpanInfo-                                                { srcInfoSpan =-                                                    SrcSpan-                                                      "tests/examples/DerivingVia.hs" 254 23 254 24-                                                , srcInfoPoints = []-                                                }-                                              (Ident-                                                 SrcSpanInfo-                                                   { srcInfoSpan =-                                                       SrcSpan-                                                         "tests/examples/DerivingVia.hs"-                                                         254-                                                         23-                                                         254-                                                         24-                                                   , srcInfoPoints = []-                                                   }-                                                 "f")))-                                        (Var-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan-                                                   "tests/examples/DerivingVia.hs" 254 25 254 26-                                             , srcInfoPoints = []-                                             }-                                           (UnQual-                                              SrcSpanInfo-                                                { srcInfoSpan =-                                                    SrcSpan-                                                      "tests/examples/DerivingVia.hs" 254 25 254 26-                                                , srcInfoPoints = []-                                                }-                                              (Ident-                                                 SrcSpanInfo-                                                   { srcInfoSpan =-                                                       SrcSpan-                                                         "tests/examples/DerivingVia.hs"-                                                         254-                                                         25-                                                         254-                                                         26-                                                   , srcInfoPoints = []-                                                   }-                                                 "a")))))-                                  Nothing-                              , PatBind-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 26-                                    , srcInfoPoints = []-                                    }-                                  (PApp-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 19-                                       , srcInfoPoints = []-                                       }-                                     (UnQual-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 11-                                          , srcInfoPoints = []-                                          }-                                        (Ident-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan-                                                   "tests/examples/DerivingVia.hs" 255 5 255 11-                                             , srcInfoPoints = []-                                             }-                                           "Sorted"))-                                     [ PWildCard-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 255 12 255 13-                                           , srcInfoPoints = []-                                           }-                                     , PVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 255 15 255 17-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 255 15 255 17-                                              , srcInfoPoints = []-                                              }-                                            "b'")-                                     , PWildCard-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 255 18 255 19-                                           , srcInfoPoints = []-                                           }-                                     ])-                                  (UnGuardedRhs-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 26-                                       , srcInfoPoints =-                                           [ SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 22 ]-                                       }-                                     (App-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/DerivingVia.hs" 255 23 255 26-                                          , srcInfoPoints = []-                                          }-                                        (Var-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan-                                                   "tests/examples/DerivingVia.hs" 255 23 255 24-                                             , srcInfoPoints = []-                                             }-                                           (UnQual-                                              SrcSpanInfo-                                                { srcInfoSpan =-                                                    SrcSpan-                                                      "tests/examples/DerivingVia.hs" 255 23 255 24-                                                , srcInfoPoints = []-                                                }-                                              (Ident-                                                 SrcSpanInfo-                                                   { srcInfoSpan =-                                                       SrcSpan-                                                         "tests/examples/DerivingVia.hs"-                                                         255-                                                         23-                                                         255-                                                         24-                                                   , srcInfoPoints = []-                                                   }-                                                 "f")))-                                        (Var-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan-                                                   "tests/examples/DerivingVia.hs" 255 25 255 26-                                             , srcInfoPoints = []-                                             }-                                           (UnQual-                                              SrcSpanInfo-                                                { srcInfoSpan =-                                                    SrcSpan-                                                      "tests/examples/DerivingVia.hs" 255 25 255 26-                                                , srcInfoPoints = []-                                                }-                                              (Ident-                                                 SrcSpanInfo-                                                   { srcInfoSpan =-                                                       SrcSpan-                                                         "tests/examples/DerivingVia.hs"-                                                         255-                                                         25-                                                         255-                                                         26-                                                   , srcInfoPoints = []-                                                   }-                                                 "b")))))-                                  Nothing-                              , PatBind-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 26-                                    , srcInfoPoints = []-                                    }-                                  (PApp-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 20-                                       , srcInfoPoints = []-                                       }-                                     (UnQual-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 11-                                          , srcInfoPoints = []-                                          }-                                        (Ident-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan-                                                   "tests/examples/DerivingVia.hs" 256 5 256 11-                                             , srcInfoPoints = []-                                             }-                                           "Sorted"))-                                     [ PWildCard-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 256 12 256 13-                                           , srcInfoPoints = []-                                           }-                                     , PWildCard-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 256 15 256 16-                                           , srcInfoPoints = []-                                           }-                                     , PVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 256 18 256 20-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 256 18 256 20-                                              , srcInfoPoints = []-                                              }-                                            "c'")-                                     ])-                                  (UnGuardedRhs-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 26-                                       , srcInfoPoints =-                                           [ SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 22 ]-                                       }-                                     (App-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/DerivingVia.hs" 256 23 256 26-                                          , srcInfoPoints = []-                                          }-                                        (Var-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan-                                                   "tests/examples/DerivingVia.hs" 256 23 256 24-                                             , srcInfoPoints = []-                                             }-                                           (UnQual-                                              SrcSpanInfo-                                                { srcInfoSpan =-                                                    SrcSpan-                                                      "tests/examples/DerivingVia.hs" 256 23 256 24-                                                , srcInfoPoints = []-                                                }-                                              (Ident-                                                 SrcSpanInfo-                                                   { srcInfoSpan =-                                                       SrcSpan-                                                         "tests/examples/DerivingVia.hs"-                                                         256-                                                         23-                                                         256-                                                         24-                                                   , srcInfoPoints = []-                                                   }-                                                 "f")))-                                        (Var-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan-                                                   "tests/examples/DerivingVia.hs" 256 25 256 26-                                             , srcInfoPoints = []-                                             }-                                           (UnQual-                                              SrcSpanInfo-                                                { srcInfoSpan =-                                                    SrcSpan-                                                      "tests/examples/DerivingVia.hs" 256 25 256 26-                                                , srcInfoPoints = []-                                                }-                                              (Ident-                                                 SrcSpanInfo-                                                   { srcInfoSpan =-                                                       SrcSpan-                                                         "tests/examples/DerivingVia.hs"-                                                         256-                                                         25-                                                         256-                                                         26-                                                   , srcInfoPoints = []-                                                   }-                                                 "c")))))-                                  Nothing-                              ]))-                    ])-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 258 1 265 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 9-                , SrcSpan "tests/examples/DerivingVia.hs" 258 25 258 30-                , SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 3-                , SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 3-                , SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17-                           , srcInfoPoints = []-                           }-                         "Pointed")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24-                           , srcInfoPoints = []-                           }-                         "Sorted")))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 10-                          , srcInfoPoints = []-                          }-                        "pointed"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 27-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 259 16 259 18 ]-                         }-                       (TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15-                               , srcInfoPoints = []-                               }-                             "a"))-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 27-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25-                                     , srcInfoPoints = []-                                     }-                                   "Sorted")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27-                                  , srcInfoPoints = []-                                  }-                                "a")))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 10-                             , srcInfoPoints = []-                             }-                           "pointed")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12-                                 , srcInfoPoints = []-                                 }-                               "a")-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 27-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 14 ]-                             }-                           (App-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 27-                                , srcInfoPoints = []-                                }-                              (App-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 25-                                   , srcInfoPoints = []-                                   }-                                 (App-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 23-                                      , srcInfoPoints = []-                                      }-                                    (Con-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 21-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 260 15 260 21-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 260 15 260 21-                                               , srcInfoPoints = []-                                               }-                                             "Sorted")))-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 260 22 260 23-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 260 22 260 23-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 260 22 260 23-                                               , srcInfoPoints = []-                                               }-                                             "a"))))-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 260 24 260 25-                                            , srcInfoPoints = []-                                            }-                                          "a"))))-                              (Var-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27-                                         , srcInfoPoints = []-                                         }-                                       "a")))))-                        Nothing-                    ])-             ])-      , ClassDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 265 1 266 22-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 6-                , SrcSpan "tests/examples/DerivingVia.hs" 265 16 265 21-                , SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 3-                , SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 0-                ]-            }-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 15-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13-                     , srcInfoPoints = []-                     }-                   "IsZero"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15-                     , srcInfoPoints = []-                     }-                   "a")))-          []-          (Just-             [ ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 9-                          , srcInfoPoints = []-                          }-                        "isZero"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 22-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 266 15 266 17 ]-                         }-                       (TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14-                               , srcInfoPoints = []-                               }-                             "a"))-                       (TyCon-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22-                                  , srcInfoPoints = []-                                  }-                                "Bool")))))-             ])-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 41-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 268 25 268 26 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 24-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21-                     , srcInfoPoints = []-                     }-                   "WrappedNumEq"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 39-                      , srcInfoPoints = []-                      }-                    "WrappedNumEq")-                 [ TyVar-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41-                          , srcInfoPoints = []-                          }-                        "a")-                 ])-          ]-          []-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 41-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 269 25 269 26 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 24-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20-                     , srcInfoPoints = []-                     }-                   "WrappedShow"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 38-                      , srcInfoPoints = []-                      }-                    "WrappedShow")-                 [ TyVar-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41-                          , srcInfoPoints = []-                          }-                        "a")-                 ])-          ]-          []-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 42-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 270 25 270 26 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 24-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22-                     , srcInfoPoints = []-                     }-                   "WrappedNumEq2"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 40-                      , srcInfoPoints = []-                      }-                    "WrappedNumEq2")-                 [ TyVar-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42-                          , srcInfoPoints = []-                          }-                        "a")-                 ])-          ]-          []-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 272 1 276 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 272 1 272 9-                , SrcSpan "tests/examples/DerivingVia.hs" 272 51 272 56-                , SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 3-                , SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 3-                , SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 50-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 26-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 272 16 272 17-                         , SrcSpan "tests/examples/DerivingVia.hs" 272 22 272 23-                         , SrcSpan "tests/examples/DerivingVia.hs" 272 24 272 26-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14-                               , srcInfoPoints = []-                               }-                             "Num"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20-                               , srcInfoPoints = []-                               }-                             "Eq"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 50-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33-                           , srcInfoPoints = []-                           }-                         "IsZero")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 50-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 35-                         , SrcSpan "tests/examples/DerivingVia.hs" 272 49 272 50-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 49-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47-                                 , srcInfoPoints = []-                                 }-                               "WrappedNumEq")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49-                              , srcInfoPoints = []-                              }-                            "a"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 9-                          , srcInfoPoints = []-                          }-                        "isZero"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 35-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 273 28 273 30 ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 27-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25-                                     , srcInfoPoints = []-                                     }-                                   "WrappedNumEq")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27-                                  , srcInfoPoints = []-                                  }-                                "a")))-                       (TyCon-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35-                                  , srcInfoPoints = []-                                  }-                                "Bool")))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 9-                             , srcInfoPoints = []-                             }-                           "isZero")-                        [ PParen-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 26-                              , srcInfoPoints =-                                  [ SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 11-                                  , SrcSpan "tests/examples/DerivingVia.hs" 274 25 274 26-                                  ]-                              }-                            (PApp-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 25-                                 , srcInfoPoints = []-                                 }-                               (UnQual-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23-                                    , srcInfoPoints = []-                                    }-                                  (Ident-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23-                                       , srcInfoPoints = []-                                       }-                                     "WrappedNumEq"))-                               [ PVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25-                                        , srcInfoPoints = []-                                        }-                                      "a")-                               ])-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 35-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 28 ]-                             }-                           (InfixApp-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 35-                                , srcInfoPoints = []-                                }-                              (Lit-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30-                                   , srcInfoPoints = []-                                   }-                                 (Int-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30-                                      , srcInfoPoints = []-                                      }-                                    0-                                    "0"))-                              (QVarOp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33-                                      , srcInfoPoints = []-                                      }-                                    (Symbol-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33-                                         , srcInfoPoints = []-                                         }-                                       "==")))-                              (Var-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35-                                         , srcInfoPoints = []-                                         }-                                       "a")))))-                        Nothing-                    ])-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 276 1 280 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 9-                , SrcSpan "tests/examples/DerivingVia.hs" 276 43 276 48-                , SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 3-                , SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 3-                , SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 42-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxSingle-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]-                     }-                   (ClassA-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14-                              , srcInfoPoints = []-                              }-                            "Show"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16-                               , srcInfoPoints = []-                               }-                             "a")-                      ])))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 42-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26-                           , srcInfoPoints = []-                           }-                         "IsZero")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 42-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 28-                         , SrcSpan "tests/examples/DerivingVia.hs" 276 41 276 42-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 41-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39-                                 , srcInfoPoints = []-                                 }-                               "WrappedShow")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41-                              , srcInfoPoints = []-                              }-                            "a"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 9-                          , srcInfoPoints = []-                          }-                        "isZero"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 34-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 277 27 277 29 ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 26-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24-                                     , srcInfoPoints = []-                                     }-                                   "WrappedShow")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26-                                  , srcInfoPoints = []-                                  }-                                "a")))-                       (TyCon-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34-                                  , srcInfoPoints = []-                                  }-                                "Bool")))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 9-                             , srcInfoPoints = []-                             }-                           "isZero")-                        [ PParen-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 25-                              , srcInfoPoints =-                                  [ SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 11-                                  , SrcSpan "tests/examples/DerivingVia.hs" 278 24 278 25-                                  ]-                              }-                            (PApp-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 24-                                 , srcInfoPoints = []-                                 }-                               (UnQual-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22-                                    , srcInfoPoints = []-                                    }-                                  (Ident-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22-                                       , srcInfoPoints = []-                                       }-                                     "WrappedShow"))-                               [ PVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24-                                        , srcInfoPoints = []-                                        }-                                      "a")-                               ])-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 41-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 27 ]-                             }-                           (InfixApp-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 41-                                , srcInfoPoints = []-                                }-                              (Lit-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31-                                   , srcInfoPoints = []-                                   }-                                 (String-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31-                                      , srcInfoPoints = []-                                      }-                                    "0"-                                    "0"))-                              (QVarOp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34-                                      , srcInfoPoints = []-                                      }-                                    (Symbol-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34-                                         , srcInfoPoints = []-                                         }-                                       "==")))-                              (App-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 41-                                   , srcInfoPoints = []-                                   }-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 278 35 278 39-                                            , srcInfoPoints = []-                                            }-                                          "show")))-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 278 40 278 41-                                            , srcInfoPoints = []-                                            }-                                          "a"))))))-                        Nothing-                    ])-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 280 1 284 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 9-                , SrcSpan "tests/examples/DerivingVia.hs" 280 52 280 57-                , SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 3-                , SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 3-                , SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 51-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 26-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 280 16 280 17-                         , SrcSpan "tests/examples/DerivingVia.hs" 280 22 280 23-                         , SrcSpan "tests/examples/DerivingVia.hs" 280 24 280 26-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14-                               , srcInfoPoints = []-                               }-                             "Num"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20-                               , srcInfoPoints = []-                               }-                             "Eq"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 51-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33-                           , srcInfoPoints = []-                           }-                         "IsZero")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 51-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 35-                         , SrcSpan "tests/examples/DerivingVia.hs" 280 50 280 51-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 50-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48-                                 , srcInfoPoints = []-                                 }-                               "WrappedNumEq2")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50-                              , srcInfoPoints = []-                              }-                            "a"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 9-                          , srcInfoPoints = []-                          }-                        "isZero"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 36-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 281 29 281 31 ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 28-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26-                                     , srcInfoPoints = []-                                     }-                                   "WrappedNumEq2")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28-                                  , srcInfoPoints = []-                                  }-                                "a")))-                       (TyCon-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36-                                  , srcInfoPoints = []-                                  }-                                "Bool")))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 9-                             , srcInfoPoints = []-                             }-                           "isZero")-                        [ PParen-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 27-                              , srcInfoPoints =-                                  [ SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 11-                                  , SrcSpan "tests/examples/DerivingVia.hs" 282 26 282 27-                                  ]-                              }-                            (PApp-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 26-                                 , srcInfoPoints = []-                                 }-                               (UnQual-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24-                                    , srcInfoPoints = []-                                    }-                                  (Ident-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24-                                       , srcInfoPoints = []-                                       }-                                     "WrappedNumEq2"))-                               [ PVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26-                                        , srcInfoPoints = []-                                        }-                                      "a")-                               ])-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 40-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 29 ]-                             }-                           (InfixApp-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 40-                                , srcInfoPoints = []-                                }-                              (InfixApp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 35-                                   , srcInfoPoints = []-                                   }-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 282 30 282 31-                                            , srcInfoPoints = []-                                            }-                                          "a")))-                                 (QVarOp-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33-                                         , srcInfoPoints = []-                                         }-                                       (Symbol-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 282 32 282 33-                                            , srcInfoPoints = []-                                            }-                                          "+")))-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 282 34 282 35-                                            , srcInfoPoints = []-                                            }-                                          "a"))))-                              (QVarOp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38-                                      , srcInfoPoints = []-                                      }-                                    (Symbol-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38-                                         , srcInfoPoints = []-                                         }-                                       "==")))-                              (Var-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40-                                         , srcInfoPoints = []-                                         }-                                       "a")))))-                        Nothing-                    ])-             ])-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 284 1 286 18-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 284 13 284 14 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 8-               , srcInfoPoints = []-               })-          Nothing-          (DHead-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12-               , srcInfoPoints = []-               }-             (Ident-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12-                  , srcInfoPoints = []-                  }-                "INT"))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 18-                      , srcInfoPoints = []-                      }-                    "INT")-                 [ TyCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22-                             , srcInfoPoints = []-                             }-                           "Int"))-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 24-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 11 ]-                }-              (Just-                 (DerivNewtype-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 285 12 285 19-                      , srcInfoPoints = []-                      }))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24-                             , srcInfoPoints = []-                             }-                           "Show")))-              ]-          , Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 18-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 11 ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 286 19 286 22-                      , srcInfoPoints = []-                      }-                    (TyParen-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 41-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 24-                             , SrcSpan "tests/examples/DerivingVia.hs" 286 40 286 41-                             ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 40-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36-                                     , srcInfoPoints = []-                                     }-                                   "WrappedNumEq")))-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40-                                     , srcInfoPoints = []-                                     }-                                   "Int")))))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18-                             , srcInfoPoints = []-                             }-                           "IsZero")))-              ]-          ]-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 41-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 288 14 288 15 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 8-               , srcInfoPoints = []-               })-          Nothing-          (DHead-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13-               , srcInfoPoints = []-               }-             (Ident-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13-                  , srcInfoPoints = []-                  }-                "VOID"))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 20-                      , srcInfoPoints = []-                      }-                    "VOID")-                 [ TyCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25-                             , srcInfoPoints = []-                             }-                           "Void"))-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 41-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 34 ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 288 42 288 45-                      , srcInfoPoints = []-                      }-                    (TyParen-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 64-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 47-                             , SrcSpan "tests/examples/DerivingVia.hs" 288 63 288 64-                             ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 63-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58-                                     , srcInfoPoints = []-                                     }-                                   "WrappedShow")))-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63-                                     , srcInfoPoints = []-                                     }-                                   "Void")))))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41-                             , srcInfoPoints = []-                             }-                           "IsZero")))-              ]-          ]-      , ClassDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 293 1 301 14-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 293 1 293 6-                , SrcSpan "tests/examples/DerivingVia.hs" 293 38 293 43-                , SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 3-                , SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 3-                , SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 0-                ]-            }-          (Just-             (CxSingle-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]-                  }-                (ClassA-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16-                           , srcInfoPoints = []-                           }-                         "Bifunctor"))-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18-                            , srcInfoPoints = []-                            }-                          "p")-                   ])))-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 37-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35-                     , srcInfoPoints = []-                     }-                   "Biapplicative"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37-                     , srcInfoPoints = []-                     }-                   "p")))-          []-          (Just-             [ ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 9-                          , srcInfoPoints = []-                          }-                        "bipure"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 28-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 294 15 294 17 ]-                         }-                       (TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14-                               , srcInfoPoints = []-                               }-                             "a"))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 28-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 294 20 294 22 ]-                            }-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19-                                  , srcInfoPoints = []-                                  }-                                "b"))-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 28-                               , srcInfoPoints = []-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 26-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24-                                        , srcInfoPoints = []-                                        }-                                      "p"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26-                                        , srcInfoPoints = []-                                        }-                                      "a")))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28-                                     , srcInfoPoints = []-                                     }-                                   "b"))))))-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 11-                          , srcInfoPoints = []-                          }-                        "biliftA2"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 297 8 301 14-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 298 5 298 7 ]-                         }-                       (TyParen-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 23-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 9-                                , SrcSpan "tests/examples/DerivingVia.hs" 297 22 297 23-                                ]-                            }-                          (TyFun-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 22-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 297 12 297 14 ]-                               }-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10-                                     , srcInfoPoints = []-                                     }-                                   "a"))-                             (TyFun-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 22-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 297 18 297 20 ]-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16-                                        , srcInfoPoints = []-                                        }-                                      "b"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22-                                        , srcInfoPoints = []-                                        }-                                      "c")))))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 298 8 301 14-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 299 5 299 7 ]-                            }-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 24-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 9-                                   , SrcSpan "tests/examples/DerivingVia.hs" 298 23 298 24-                                   ]-                               }-                             (TyFun-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 23-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 298 12 298 14 ]-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11-                                        , srcInfoPoints = []-                                        }-                                      "a'"))-                                (TyFun-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 23-                                     , srcInfoPoints =-                                         [ SrcSpan "tests/examples/DerivingVia.hs" 298 18 298 20 ]-                                     }-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17-                                           , srcInfoPoints = []-                                           }-                                         "b'"))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23-                                           , srcInfoPoints = []-                                           }-                                         "c'")))))-                          (TyFun-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 299 8 301 14-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 300 5 300 7 ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 14-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 11-                                     , srcInfoPoints = []-                                     }-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9-                                           , srcInfoPoints = []-                                           }-                                         "p"))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11-                                           , srcInfoPoints = []-                                           }-                                         "a")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14-                                        , srcInfoPoints = []-                                        }-                                      "a'")))-                             (TyFun-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 300 8 301 14-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 301 5 301 7 ]-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 14-                                     , srcInfoPoints = []-                                     }-                                   (TyApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 11-                                        , srcInfoPoints = []-                                        }-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 9-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 300 8 300 9-                                              , srcInfoPoints = []-                                              }-                                            "p"))-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 300 10 300 11-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 300 10 300 11-                                              , srcInfoPoints = []-                                              }-                                            "b")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14-                                           , srcInfoPoints = []-                                           }-                                         "b'")))-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 14-                                     , srcInfoPoints = []-                                     }-                                   (TyApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 11-                                        , srcInfoPoints = []-                                        }-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 9-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 301 8 301 9-                                              , srcInfoPoints = []-                                              }-                                            "p"))-                                      (TyVar-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 301 10 301 11-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 301 10 301 11-                                              , srcInfoPoints = []-                                              }-                                            "c")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14-                                           , srcInfoPoints = []-                                           }-                                         "c'"))))))))-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 303 1 309 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 9-                , SrcSpan "tests/examples/DerivingVia.hs" 303 28 303 33-                , SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 3-                , SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 3-                , SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23-                           , srcInfoPoints = []-                           }-                         "Biapplicative")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25-                         , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26-                         , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27-                         ]-                     }-                   (Special-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25-                            , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26-                            , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27-                            ]-                        }-                      (TupleCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27-                           , srcInfoPoints =-                               [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25-                               , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26-                               , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27-                               ]-                           }-                         Boxed-                         2)))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9-                            , srcInfoPoints = []-                            }-                          "bipure"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 15-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 11 ]-                         }-                       (Con-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13-                                , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14-                                , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15-                                ]-                            }-                          (Special-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13-                                   , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14-                                   , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15-                                   ]-                               }-                             (TupleCon-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13-                                      , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14-                                      , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15-                                      ]-                                  }-                                Boxed-                                2))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 11-                             , srcInfoPoints = []-                             }-                           "biliftA2")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13-                                 , srcInfoPoints = []-                                 }-                               "f")-                        , PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16-                                 , srcInfoPoints = []-                                 }-                               "f'")-                        , PTuple-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 24-                              , srcInfoPoints =-                                  [ SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 18-                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 19 306 20-                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 23 306 24-                                  ]-                              }-                            Boxed-                            [ PVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19-                                     , srcInfoPoints = []-                                     }-                                   "a")-                            , PVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23-                                     , srcInfoPoints = []-                                     }-                                   "a'")-                            ]-                        , PTuple-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 32-                              , srcInfoPoints =-                                  [ SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 26-                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 27 306 28-                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 31 306 32-                                  ]-                              }-                            Boxed-                            [ PVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27-                                     , srcInfoPoints = []-                                     }-                                   "b")-                            , PVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31-                                     , srcInfoPoints = []-                                     }-                                   "b'")-                            ]-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 306 33 307 22-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 306 33 306 34 ]-                             }-                           (Tuple-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 22-                                , srcInfoPoints =-                                    [ SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 6-                                    , SrcSpan "tests/examples/DerivingVia.hs" 307 11 307 12-                                    , SrcSpan "tests/examples/DerivingVia.hs" 307 21 307 22-                                    ]-                                }-                              Boxed-                              [ App-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 11-                                    , srcInfoPoints = []-                                    }-                                  (App-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 9-                                       , srcInfoPoints = []-                                       }-                                     (Var-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7-                                          , srcInfoPoints = []-                                          }-                                        (UnQual-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7-                                             , srcInfoPoints = []-                                             }-                                           (Ident-                                              SrcSpanInfo-                                                { srcInfoSpan =-                                                    SrcSpan-                                                      "tests/examples/DerivingVia.hs" 307 6 307 7-                                                , srcInfoPoints = []-                                                }-                                              "f")))-                                     (Var-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9-                                          , srcInfoPoints = []-                                          }-                                        (UnQual-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9-                                             , srcInfoPoints = []-                                             }-                                           (Ident-                                              SrcSpanInfo-                                                { srcInfoSpan =-                                                    SrcSpan-                                                      "tests/examples/DerivingVia.hs" 307 8 307 9-                                                , srcInfoPoints = []-                                                }-                                              "a"))))-                                  (Var-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11-                                       , srcInfoPoints = []-                                       }-                                     (UnQual-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11-                                          , srcInfoPoints = []-                                          }-                                        (Ident-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan-                                                   "tests/examples/DerivingVia.hs" 307 10 307 11-                                             , srcInfoPoints = []-                                             }-                                           "b")))-                              , App-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 21-                                    , srcInfoPoints = []-                                    }-                                  (App-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 18-                                       , srcInfoPoints = []-                                       }-                                     (Var-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 15-                                          , srcInfoPoints = []-                                          }-                                        (UnQual-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan-                                                   "tests/examples/DerivingVia.hs" 307 13 307 15-                                             , srcInfoPoints = []-                                             }-                                           (Ident-                                              SrcSpanInfo-                                                { srcInfoSpan =-                                                    SrcSpan-                                                      "tests/examples/DerivingVia.hs" 307 13 307 15-                                                , srcInfoPoints = []-                                                }-                                              "f'")))-                                     (Var-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/DerivingVia.hs" 307 16 307 18-                                          , srcInfoPoints = []-                                          }-                                        (UnQual-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan-                                                   "tests/examples/DerivingVia.hs" 307 16 307 18-                                             , srcInfoPoints = []-                                             }-                                           (Ident-                                              SrcSpanInfo-                                                { srcInfoSpan =-                                                    SrcSpan-                                                      "tests/examples/DerivingVia.hs" 307 16 307 18-                                                , srcInfoPoints = []-                                                }-                                              "a'"))))-                                  (Var-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21-                                       , srcInfoPoints = []-                                       }-                                     (UnQual-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21-                                          , srcInfoPoints = []-                                          }-                                        (Ident-                                           SrcSpanInfo-                                             { srcInfoSpan =-                                                 SrcSpan-                                                   "tests/examples/DerivingVia.hs" 307 19 307 21-                                             , srcInfoPoints = []-                                             }-                                           "b'")))-                              ]))-                        Nothing-                    ])-             ])-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 309 1 310 50-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 309 25 309 26 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 24-               , srcInfoPoints = []-               }-             (DHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 22-                  , srcInfoPoints = []-                  }-                (DHApp-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 20-                     , srcInfoPoints = []-                     }-                   (DHead-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18-                           , srcInfoPoints = []-                           }-                         "WrapBiapp"))-                   (UnkindedVar-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20-                           , srcInfoPoints = []-                           }-                         "p")))-                (UnkindedVar-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22-                     , srcInfoPoints = []-                     }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22-                        , srcInfoPoints = []-                        }-                      "a")))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24-                     , srcInfoPoints = []-                     }-                   "b")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 35-                      , srcInfoPoints = []-                      }-                    "WrapBiap")-                 [ TyParen-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 43-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 37-                           , SrcSpan "tests/examples/DerivingVia.hs" 309 42 309 43-                           ]-                       }-                     (TyApp-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 42-                          , srcInfoPoints = []-                          }-                        (TyApp-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 40-                             , srcInfoPoints = []-                             }-                           (TyVar-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38-                                   , srcInfoPoints = []-                                   }-                                 "p"))-                           (TyVar-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40-                                   , srcInfoPoints = []-                                   }-                                 "a")))-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42-                                , srcInfoPoints = []-                                }-                              "b")))-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 50-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 11-                    , SrcSpan "tests/examples/DerivingVia.hs" 310 20 310 21-                    , SrcSpan "tests/examples/DerivingVia.hs" 310 30 310 31-                    , SrcSpan "tests/examples/DerivingVia.hs" 310 45 310 46-                    , SrcSpan "tests/examples/DerivingVia.hs" 310 49 310 50-                    ]-                }-              (Just-                 (DerivNewtype-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 310 12 310 19-                      , srcInfoPoints = []-                      }))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30-                             , srcInfoPoints = []-                             }-                           "Bifunctor")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45-                             , srcInfoPoints = []-                             }-                           "Biapplicative")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49-                             , srcInfoPoints = []-                             }-                           "Eq")))-              ]-          ]-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 312 1 321 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 312 1 312 9-                , SrcSpan "tests/examples/DerivingVia.hs" 312 67 312 72-                , SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 3-                , SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 3-                , SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 3-                , SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 3-                , SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 3-                , SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 3-                , SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 3-                , SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 66-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 44-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 312 26 312 27-                         , SrcSpan "tests/examples/DerivingVia.hs" 312 33 312 34-                         , SrcSpan "tests/examples/DerivingVia.hs" 312 40 312 41-                         , SrcSpan "tests/examples/DerivingVia.hs" 312 42 312 44-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24-                               , srcInfoPoints = []-                               }-                             "Biapplicative"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26-                                , srcInfoPoints = []-                                }-                              "p")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31-                               , srcInfoPoints = []-                               }-                             "Num"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38-                               , srcInfoPoints = []-                               }-                             "Num"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40-                                , srcInfoPoints = []-                                }-                              "b")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 66-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48-                           , srcInfoPoints = []-                           }-                         "Num")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 66-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 50-                         , SrcSpan "tests/examples/DerivingVia.hs" 312 65 312 66-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 65-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 63-                           , srcInfoPoints = []-                           }-                         (TyApp-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 61-                              , srcInfoPoints = []-                              }-                            (TyCon-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59-                                 , srcInfoPoints = []-                                 }-                               (UnQual-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59-                                    , srcInfoPoints = []-                                    }-                                  (Ident-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59-                                       , srcInfoPoints = []-                                       }-                                     "WrapBiapp")))-                            (TyVar-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61-                                    , srcInfoPoints = []-                                    }-                                  "p")))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63-                                 , srcInfoPoints = []-                                 }-                               "a")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65-                              , srcInfoPoints = []-                              }-                            "b"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 6-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 4-                             , SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5-                             , SrcSpan "tests/examples/DerivingVia.hs" 313 5 313 6-                             ]-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5-                            , srcInfoPoints = []-                            }-                          "+"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 25-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 8 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 25-                            , srcInfoPoints = []-                            }-                          (App-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 21-                               , srcInfoPoints = []-                               }-                             (Var-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17-                                        , srcInfoPoints = []-                                        }-                                      "biliftA2")))-                             (Var-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19-                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20-                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21-                                      ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21-                                     , srcInfoPoints =-                                         [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19-                                         , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20-                                         , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21-                                         ]-                                     }-                                   (Symbol-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20-                                        , srcInfoPoints = []-                                        }-                                      "+"))))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23-                                   , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24-                                   , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25-                                   ]-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23-                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24-                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25-                                      ]-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24-                                     , srcInfoPoints = []-                                     }-                                   "+")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 6-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 4-                             , SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5-                             , SrcSpan "tests/examples/DerivingVia.hs" 314 5 314 6-                             ]-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5-                            , srcInfoPoints = []-                            }-                          "-"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 25-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 8 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 25-                            , srcInfoPoints = []-                            }-                          (App-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 21-                               , srcInfoPoints = []-                               }-                             (Var-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17-                                        , srcInfoPoints = []-                                        }-                                      "biliftA2")))-                             (Var-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19-                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20-                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21-                                      ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21-                                     , srcInfoPoints =-                                         [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19-                                         , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20-                                         , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21-                                         ]-                                     }-                                   (Symbol-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20-                                        , srcInfoPoints = []-                                        }-                                      "*"))))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23-                                   , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24-                                   , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25-                                   ]-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23-                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24-                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25-                                      ]-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24-                                     , srcInfoPoints = []-                                     }-                                   "*")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 6-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 4-                             , SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5-                             , SrcSpan "tests/examples/DerivingVia.hs" 315 5 315 6-                             ]-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5-                            , srcInfoPoints = []-                            }-                          "*"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 25-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 8 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 25-                            , srcInfoPoints = []-                            }-                          (App-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 21-                               , srcInfoPoints = []-                               }-                             (Var-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17-                                        , srcInfoPoints = []-                                        }-                                      "biliftA2")))-                             (Var-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19-                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20-                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21-                                      ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21-                                     , srcInfoPoints =-                                         [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19-                                         , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20-                                         , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21-                                         ]-                                     }-                                   (Symbol-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20-                                        , srcInfoPoints = []-                                        }-                                      "*"))))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23-                                   , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24-                                   , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25-                                   ]-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23-                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24-                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25-                                      ]-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24-                                     , srcInfoPoints = []-                                     }-                                   "*")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9-                            , srcInfoPoints = []-                            }-                          "negate"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 31-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 11 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 31-                            , srcInfoPoints = []-                            }-                          (App-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 24-                               , srcInfoPoints = []-                               }-                             (Var-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17-                                        , srcInfoPoints = []-                                        }-                                      "bimap")))-                             (Var-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24-                                        , srcInfoPoints = []-                                        }-                                      "negate"))))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31-                                     , srcInfoPoints = []-                                     }-                                   "negate")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6-                            , srcInfoPoints = []-                            }-                          "abs"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 22-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 8 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 22-                            , srcInfoPoints = []-                            }-                          (App-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 18-                               , srcInfoPoints = []-                               }-                             (Var-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14-                                        , srcInfoPoints = []-                                        }-                                      "bimap")))-                             (Var-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18-                                        , srcInfoPoints = []-                                        }-                                      "abs"))))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22-                                     , srcInfoPoints = []-                                     }-                                   "abs")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9-                            , srcInfoPoints = []-                            }-                          "signum"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 31-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 11 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 31-                            , srcInfoPoints = []-                            }-                          (App-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 24-                               , srcInfoPoints = []-                               }-                             (Var-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17-                                        , srcInfoPoints = []-                                        }-                                      "bimap")))-                             (Var-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24-                                        , srcInfoPoints = []-                                        }-                                      "signum"))))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31-                                     , srcInfoPoints = []-                                     }-                                   "signum")))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 14-                             , srcInfoPoints = []-                             }-                           "fromInteger")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16-                                 , srcInfoPoints = []-                                 }-                               "n")-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 55-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 18 ]-                             }-                           (InfixApp-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 55-                                , srcInfoPoints = []-                                }-                              (App-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 32-                                   , srcInfoPoints = []-                                   }-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 319 19 319 30-                                            , srcInfoPoints = []-                                            }-                                          "fromInteger")))-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 319 31 319 32-                                            , srcInfoPoints = []-                                            }-                                          "n"))))-                              (QVarOp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41-                                   , srcInfoPoints =-                                       [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34-                                       , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40-                                       , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41-                                       ]-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41-                                      , srcInfoPoints =-                                          [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34-                                          , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40-                                          , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41-                                          ]-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40-                                         , srcInfoPoints = []-                                         }-                                       "bipure")))-                              (App-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 55-                                   , srcInfoPoints = []-                                   }-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 319 42 319 53-                                            , srcInfoPoints = []-                                            }-                                          "fromInteger")))-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 319 54 319 55-                                            , srcInfoPoints = []-                                            }-                                          "n"))))))-                        Nothing-                    ])-             ])-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 321 1 322 18-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 321 14 321 15 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 8-               , srcInfoPoints = []-               })-          Nothing-          (DHead-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13-               , srcInfoPoints = []-               }-             (Ident-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13-                  , srcInfoPoints = []-                  }-                "INT2"))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 20-                      , srcInfoPoints = []-                      }-                    "INT2")-                 [ TyTuple-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 31-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 22-                           , SrcSpan "tests/examples/DerivingVia.hs" 321 25 321 26-                           , SrcSpan "tests/examples/DerivingVia.hs" 321 30 321 31-                           ]-                       }-                     Boxed-                     [ TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25-                                 , srcInfoPoints = []-                                 }-                               "Int"))-                     , TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30-                                 , srcInfoPoints = []-                                 }-                               "Int"))-                     ]-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 18-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 11 ]-                }-              (Just-                 (DerivVia-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 322 19 322 22-                      , srcInfoPoints = []-                      }-                    (TyParen-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 62-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 24-                             , SrcSpan "tests/examples/DerivingVia.hs" 322 61 322 62-                             ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 61-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37-                                     , srcInfoPoints = []-                                     }-                                   "WrappedNumEq2")))-                          (TyParen-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 61-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 39-                                   , SrcSpan "tests/examples/DerivingVia.hs" 322 60 322 61-                                   ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 60-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 56-                                     , srcInfoPoints = []-                                     }-                                   (TyApp-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 52-                                        , srcInfoPoints = []-                                        }-                                      (TyCon-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 48-                                           , srcInfoPoints = []-                                           }-                                         (UnQual-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 322 39 322 48-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 322 39 322 48-                                                 , srcInfoPoints = []-                                                 }-                                               "WrapBiapp")))-                                      (TyCon-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 322 49 322 52-                                           , srcInfoPoints =-                                               [ SrcSpan-                                                   "tests/examples/DerivingVia.hs" 322 49 322 50-                                               , SrcSpan-                                                   "tests/examples/DerivingVia.hs" 322 50 322 51-                                               , SrcSpan-                                                   "tests/examples/DerivingVia.hs" 322 51 322 52-                                               ]-                                           }-                                         (Special-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 322 49 322 52-                                              , srcInfoPoints =-                                                  [ SrcSpan-                                                      "tests/examples/DerivingVia.hs" 322 49 322 50-                                                  , SrcSpan-                                                      "tests/examples/DerivingVia.hs" 322 50 322 51-                                                  , SrcSpan-                                                      "tests/examples/DerivingVia.hs" 322 51 322 52-                                                  ]-                                              }-                                            (TupleCon-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 322 49 322 52-                                                 , srcInfoPoints =-                                                     [ SrcSpan-                                                         "tests/examples/DerivingVia.hs"-                                                         322-                                                         49-                                                         322-                                                         50-                                                     , SrcSpan-                                                         "tests/examples/DerivingVia.hs"-                                                         322-                                                         50-                                                         322-                                                         51-                                                     , SrcSpan-                                                         "tests/examples/DerivingVia.hs"-                                                         322-                                                         51-                                                         322-                                                         52-                                                     ]-                                                 }-                                               Boxed-                                               2))))-                                   (TyCon-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56-                                        , srcInfoPoints = []-                                        }-                                      (UnQual-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 322 53 322 56-                                              , srcInfoPoints = []-                                              }-                                            "Int"))))-                                (TyCon-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60-                                     , srcInfoPoints = []-                                     }-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60-                                           , srcInfoPoints = []-                                           }-                                         "Int")))))))))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18-                             , srcInfoPoints = []-                             }-                           "IsZero")))-              ]-          ]-      , ClassDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 327 1 328 20-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 327 1 327 6-                , SrcSpan "tests/examples/DerivingVia.hs" 327 32 327 37-                , SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 3-                , SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 0-                ]-            }-          (Just-             (CxSingle-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]-                  }-                (ClassA-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13-                           , srcInfoPoints = []-                           }-                         "Monoid"))-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15-                            , srcInfoPoints = []-                            }-                          "a")-                   ])))-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 31-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29-                     , srcInfoPoints = []-                     }-                   "MonoidNull"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31-                     , srcInfoPoints = []-                     }-                   "a")))-          []-          (Just-             [ ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 7-                          , srcInfoPoints = []-                          }-                        "null"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 20-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 328 13 328 15 ]-                         }-                       (TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12-                               , srcInfoPoints = []-                               }-                             "a"))-                       (TyCon-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20-                                  , srcInfoPoints = []-                                  }-                                "Bool")))))-             ])-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 62-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 330 22 330 23 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 21-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19-                     , srcInfoPoints = []-                     }-                   "WrpMonNull"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 27-                      , srcInfoPoints = []-                      }-                    "WRM")-                 [ TyVar-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29-                          , srcInfoPoints = []-                          }-                        "a")-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 62-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 38-                    , SrcSpan "tests/examples/DerivingVia.hs" 330 39 330 40-                    , SrcSpan "tests/examples/DerivingVia.hs" 330 42 330 43-                    , SrcSpan "tests/examples/DerivingVia.hs" 330 53 330 54-                    , SrcSpan "tests/examples/DerivingVia.hs" 330 61 330 62-                    ]-                }-              Nothing-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42-                             , srcInfoPoints = []-                             }-                           "Eq")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53-                             , srcInfoPoints = []-                             }-                           "Semigroup")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61-                             , srcInfoPoints = []-                             }-                           "Monoid")))-              ]-          ]-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 332 1 336 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 332 1 332 9-                , SrcSpan "tests/examples/DerivingVia.hs" 332 56 332 61-                , SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 3-                , SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 3-                , SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 55-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 29-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 11-                         , SrcSpan "tests/examples/DerivingVia.hs" 332 15 332 16-                         , SrcSpan "tests/examples/DerivingVia.hs" 332 25 332 26-                         , SrcSpan "tests/examples/DerivingVia.hs" 332 27 332 29-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13-                               , srcInfoPoints = []-                               }-                             "Eq"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23-                               , srcInfoPoints = []-                               }-                             "Monoid"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 55-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40-                           , srcInfoPoints = []-                           }-                         "MonoidNull")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 55-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 42-                         , SrcSpan "tests/examples/DerivingVia.hs" 332 54 332 55-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 54-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52-                                 , srcInfoPoints = []-                                 }-                               "WrpMonNull")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54-                              , srcInfoPoints = []-                              }-                            "a"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 7-                          , srcInfoPoints = []-                          }-                        "null"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 31-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 333 24 333 26 ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 23-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21-                                     , srcInfoPoints = []-                                     }-                                   "WrpMonNull")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23-                                  , srcInfoPoints = []-                                  }-                                "a")))-                       (TyCon-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31-                                  , srcInfoPoints = []-                                  }-                                "Bool")))))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7-                            , srcInfoPoints = []-                            }-                          "null"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 21-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 9 ]-                         }-                       (RightSection-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 21-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 11-                                , SrcSpan "tests/examples/DerivingVia.hs" 334 20 334 21-                                ]-                            }-                          (QVarOp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13-                                  , srcInfoPoints = []-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13-                                     , srcInfoPoints = []-                                     }-                                   "==")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20-                                     , srcInfoPoints = []-                                     }-                                   "mempty")))))-                    Nothing)-             ])-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 54-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 9-                , SrcSpan "tests/examples/DerivingVia.hs" 336 31 336 39-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 336 10 336 13-                  , srcInfoPoints = []-                  }-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 30-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 15-                         , SrcSpan "tests/examples/DerivingVia.hs" 336 29 336 30-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 29-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25-                                 , srcInfoPoints = []-                                 }-                               "WrpMonNull")))-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29-                                 , srcInfoPoints = []-                                 }-                               "Any")))))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50-                           , srcInfoPoints = []-                           }-                         "MonoidNull")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54-                           , srcInfoPoints = []-                           }-                         "Any")))))-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 53-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 9-                , SrcSpan "tests/examples/DerivingVia.hs" 337 31 337 39-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 337 10 337 13-                  , srcInfoPoints = []-                  }-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15-                         , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16-                         ]-                     }-                   (Special-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15-                            , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16-                            ]-                        }-                      (UnitCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16-                           , srcInfoPoints =-                               [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15-                               , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16-                               ]-                           })))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50-                           , srcInfoPoints = []-                           }-                         "MonoidNull")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52-                         , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53-                         ]-                     }-                   (Special-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52-                            , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53-                            ]-                        }-                      (UnitCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53-                           , srcInfoPoints =-                               [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52-                               , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53-                               ]-                           })))))-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 59-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 9-                , SrcSpan "tests/examples/DerivingVia.hs" 338 31 338 39-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 338 10 338 13-                  , srcInfoPoints = []-                  }-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22-                           , srcInfoPoints = []-                           }-                         "Ordering")))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50-                           , srcInfoPoints = []-                           }-                         "MonoidNull")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59-                           , srcInfoPoints = []-                           }-                         "Ordering")))))-      , ClassDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 345 1 348 26-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 345 1 345 6-                , SrcSpan "tests/examples/DerivingVia.hs" 345 17 345 22-                , SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 3-                , SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 3-                , SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 3-                , SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 0-                ]-            }-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 16-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14-                     , srcInfoPoints = []-                     }-                   "Lattice"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16-                     , srcInfoPoints = []-                     }-                   "a")))-          []-          (Just-             [ ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 6-                          , srcInfoPoints = []-                          }-                        "sup"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 23-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 346 14 346 16 ]-                         }-                       (TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13-                               , srcInfoPoints = []-                               }-                             "a"))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 23-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 346 19 346 21 ]-                            }-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18-                                  , srcInfoPoints = []-                                  }-                                "a"))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23-                                  , srcInfoPoints = []-                                  }-                                "a")))))-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]-                      }-                    [ Symbol-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 8-                          , srcInfoPoints =-                              [ SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 4-                              , SrcSpan "tests/examples/DerivingVia.hs" 347 4 347 7-                              , SrcSpan "tests/examples/DerivingVia.hs" 347 7 347 8-                              ]-                          }-                        ".>="-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 26-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 347 14 347 16 ]-                         }-                       (TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13-                               , srcInfoPoints = []-                               }-                             "a"))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 26-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 347 19 347 21 ]-                            }-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18-                                  , srcInfoPoints = []-                                  }-                                "a"))-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26-                                     , srcInfoPoints = []-                                     }-                                   "Bool"))))))-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]-                      }-                    [ Symbol-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 7-                          , srcInfoPoints =-                              [ SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 4-                              , SrcSpan "tests/examples/DerivingVia.hs" 348 4 348 6-                              , SrcSpan "tests/examples/DerivingVia.hs" 348 6 348 7-                              ]-                          }-                        ".>"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 26-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 348 14 348 16 ]-                         }-                       (TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13-                               , srcInfoPoints = []-                               }-                             "a"))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 26-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 348 19 348 21 ]-                            }-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18-                                  , srcInfoPoints = []-                                  }-                                "a"))-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26-                                     , srcInfoPoints = []-                                     }-                                   "Bool"))))))-             ])-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 350 1 351 29-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 350 19 350 20 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 18-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16-                     , srcInfoPoints = []-                     }-                   "WrapOrd"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 31-                      , srcInfoPoints = []-                      }-                    "WrappedOrd")-                 [ TyVar-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33-                          , srcInfoPoints = []-                          }-                        "a")-                 ])-          ]-          [ Deriving-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 29-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 11-                    , SrcSpan "tests/examples/DerivingVia.hs" 351 20 351 21-                    , SrcSpan "tests/examples/DerivingVia.hs" 351 23 351 24-                    , SrcSpan "tests/examples/DerivingVia.hs" 351 28 351 29-                    ]-                }-              (Just-                 (DerivNewtype-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 351 12 351 19-                      , srcInfoPoints = []-                      }))-              [ IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23-                             , srcInfoPoints = []-                             }-                           "Eq")))-              , IRule-                  SrcSpanInfo-                    { srcInfoSpan =-                        SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28-                    , srcInfoPoints = []-                    }-                  Nothing-                  Nothing-                  (IHCon-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28-                       , srcInfoPoints = []-                       }-                     (UnQual-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28-                             , srcInfoPoints = []-                             }-                           "Ord")))-              ]-          ]-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 353 1 358 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 353 1 353 9-                , SrcSpan "tests/examples/DerivingVia.hs" 353 39 353 44-                , SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 3-                , SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 3-                , SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 3-                , SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 38-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxSingle-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]-                     }-                   (ClassA-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13-                              , srcInfoPoints = []-                              }-                            "Ord"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15-                               , srcInfoPoints = []-                               }-                             "a")-                      ])))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 38-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26-                           , srcInfoPoints = []-                           }-                         "Lattice")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 38-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 28-                         , SrcSpan "tests/examples/DerivingVia.hs" 353 37 353 38-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 37-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35-                                 , srcInfoPoints = []-                                 }-                               "WrapOrd")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37-                              , srcInfoPoints = []-                              }-                            "a"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6-                            , srcInfoPoints = []-                            }-                          "sup"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 14-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 10 ]-                         }-                       (Var-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14-                                  , srcInfoPoints = []-                                  }-                                "max"))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 8-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 4-                             , SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7-                             , SrcSpan "tests/examples/DerivingVia.hs" 355 7 355 8-                             ]-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7-                            , srcInfoPoints = []-                            }-                          ".>="))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 15-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 10 ]-                         }-                       (Var-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12-                                , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14-                                , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15-                                ]-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12-                                   , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14-                                   , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15-                                   ]-                               }-                             (Symbol-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14-                                  , srcInfoPoints = []-                                  }-                                ">="))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 7-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 4-                             , SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6-                             , SrcSpan "tests/examples/DerivingVia.hs" 356 6 356 7-                             ]-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6-                            , srcInfoPoints = []-                            }-                          ".>"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 14-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 10 ]-                         }-                       (Var-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12-                                , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13-                                , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14-                                ]-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12-                                   , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13-                                   , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14-                                   ]-                               }-                             (Symbol-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13-                                  , srcInfoPoints = []-                                  }-                                ">"))))-                    Nothing)-             ])-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 59-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 9-                , SrcSpan "tests/examples/DerivingVia.hs" 358 21 358 29-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 358 10 358 13-                  , srcInfoPoints = []-                  }-                (TyList-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 17-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 15-                         , SrcSpan "tests/examples/DerivingVia.hs" 358 16 358 17-                         ]-                     }-                   (TyVar-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16-                           , srcInfoPoints = []-                           }-                         "a")))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 59-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxSingle-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]-                     }-                   (ClassA-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33-                              , srcInfoPoints = []-                              }-                            "Ord"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35-                               , srcInfoPoints = []-                               }-                             "a")-                      ])))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 59-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55-                           , srcInfoPoints = []-                           }-                         "Lattice")))-                (TyList-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 59-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 57-                         , SrcSpan "tests/examples/DerivingVia.hs" 358 58 358 59-                         ]-                     }-                   (TyVar-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58-                           , srcInfoPoints = []-                           }-                         "a")))))-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 62-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 9-                , SrcSpan "tests/examples/DerivingVia.hs" 359 21 359 29-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 359 10 359 13-                  , srcInfoPoints = []-                  }-                (TyTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 20-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 15-                         , SrcSpan "tests/examples/DerivingVia.hs" 359 16 359 17-                         , SrcSpan "tests/examples/DerivingVia.hs" 359 19 359 20-                         ]-                     }-                   Boxed-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16-                            , srcInfoPoints = []-                            }-                          "a")-                   , TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19-                            , srcInfoPoints = []-                            }-                          "b")-                   ])))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 62-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 47-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 31-                         , SrcSpan "tests/examples/DerivingVia.hs" 359 36 359 37-                         , SrcSpan "tests/examples/DerivingVia.hs" 359 43 359 44-                         , SrcSpan "tests/examples/DerivingVia.hs" 359 45 359 47-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34-                               , srcInfoPoints = []-                               }-                             "Ord"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41-                               , srcInfoPoints = []-                               }-                             "Ord"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43-                                , srcInfoPoints = []-                                }-                              "b")-                       ]-                   ]))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 62-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55-                           , srcInfoPoints = []-                           }-                         "Lattice")))-                (TyTuple-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 62-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 57-                         , SrcSpan "tests/examples/DerivingVia.hs" 359 58 359 59-                         , SrcSpan "tests/examples/DerivingVia.hs" 359 61 359 62-                         ]-                     }-                   Boxed-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58-                            , srcInfoPoints = []-                            }-                          "a")-                   , TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61-                            , srcInfoPoints = []-                            }-                          "b")-                   ])))-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 40-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 9-                , SrcSpan "tests/examples/DerivingVia.hs" 361 19 361 27-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 361 10 361 13-                  , srcInfoPoints = []-                  }-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18-                           , srcInfoPoints = []-                           }-                         "Bool")))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35-                           , srcInfoPoints = []-                           }-                         "Lattice")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40-                           , srcInfoPoints = []-                           }-                         "Bool")))))-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 40-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 9-                , SrcSpan "tests/examples/DerivingVia.hs" 363 19 363 27-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 363 10 363 13-                  , srcInfoPoints = []-                  }-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18-                           , srcInfoPoints = []-                           }-                         "Char")))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35-                           , srcInfoPoints = []-                           }-                         "Lattice")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40-                           , srcInfoPoints = []-                           }-                         "Char")))))-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 38-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 9-                , SrcSpan "tests/examples/DerivingVia.hs" 365 18 365 26-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 365 10 365 13-                  , srcInfoPoints = []-                  }-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17-                           , srcInfoPoints = []-                           }-                         "Int")))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34-                           , srcInfoPoints = []-                           }-                         "Lattice")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38-                           , srcInfoPoints = []-                           }-                         "Int")))))-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 46-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 9-                , SrcSpan "tests/examples/DerivingVia.hs" 367 22 367 30-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 367 10 367 13-                  , srcInfoPoints = []-                  }-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21-                           , srcInfoPoints = []-                           }-                         "Integer")))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38-                           , srcInfoPoints = []-                           }-                         "Lattice")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46-                           , srcInfoPoints = []-                           }-                         "Integer")))))-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 42-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 9-                , SrcSpan "tests/examples/DerivingVia.hs" 369 20 369 28-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 369 10 369 13-                  , srcInfoPoints = []-                  }-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19-                           , srcInfoPoints = []-                           }-                         "Float")))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36-                           , srcInfoPoints = []-                           }-                         "Lattice")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42-                           , srcInfoPoints = []-                           }-                         "Float")))))-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 44-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 9-                , SrcSpan "tests/examples/DerivingVia.hs" 371 21 371 29-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 371 10 371 13-                  , srcInfoPoints = []-                  }-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20-                           , srcInfoPoints = []-                           }-                         "Double")))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37-                           , srcInfoPoints = []-                           }-                         "Lattice")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44-                           , srcInfoPoints = []-                           }-                         "Double")))))-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 48-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 9-                , SrcSpan "tests/examples/DerivingVia.hs" 373 23 373 31-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 373 10 373 13-                  , srcInfoPoints = []-                  }-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22-                           , srcInfoPoints = []-                           }-                         "Rational")))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39-                           , srcInfoPoints = []-                           }-                         "Lattice")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48-                           , srcInfoPoints = []-                           }-                         "Rational")))))-      , ClassDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 380 1 386 47-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 380 1 380 6-                , SrcSpan "tests/examples/DerivingVia.hs" 380 31 380 36-                , SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 3-                , SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 3-                , SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 3-                , SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 3-                , SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 3-                , SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 3-                , SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 0-                ]-            }-          (Just-             (CxSingle-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]-                  }-                (ClassA-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14-                           , srcInfoPoints = []-                           }-                         "Functor"))-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16-                            , srcInfoPoints = []-                            }-                          "f")-                   ])))-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 30-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28-                     , srcInfoPoints = []-                     }-                   "Additive"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30-                     , srcInfoPoints = []-                     }-                   "f")))-          []-          (Just-             [ ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 7-                          , srcInfoPoints = []-                          }-                        "zero"-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 23-                         , srcInfoPoints = []-                         }-                       Nothing-                       (Just-                          (CxSingle-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]-                               }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 14-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 14-                                        , srcInfoPoints = []-                                        }-                                      "Num"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16-                                         , srcInfoPoints = []-                                         }-                                       "a")-                                ])))-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 23-                            , srcInfoPoints = []-                            }-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21-                                  , srcInfoPoints = []-                                  }-                                "f"))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23-                                  , srcInfoPoints = []-                                  }-                                "a")))))-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]-                      }-                    [ Symbol-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 8-                          , srcInfoPoints =-                              [ SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 4-                              , SrcSpan "tests/examples/DerivingVia.hs" 382 4 382 7-                              , SrcSpan "tests/examples/DerivingVia.hs" 382 7 382 8-                              ]-                          }-                        "^+^"-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 38-                         , srcInfoPoints = []-                         }-                       Nothing-                       (Just-                          (CxSingle-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]-                               }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 15-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 15-                                        , srcInfoPoints = []-                                        }-                                      "Num"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17-                                         , srcInfoPoints = []-                                         }-                                       "a")-                                ])))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 38-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 382 25 382 27 ]-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 24-                               , srcInfoPoints = []-                               }-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22-                                     , srcInfoPoints = []-                                     }-                                   "f"))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24-                                     , srcInfoPoints = []-                                     }-                                   "a")))-                          (TyFun-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 38-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 382 32 382 34 ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 31-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29-                                        , srcInfoPoints = []-                                        }-                                      "f"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31-                                        , srcInfoPoints = []-                                        }-                                      "a")))-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 38-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36-                                        , srcInfoPoints = []-                                        }-                                      "f"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38-                                        , srcInfoPoints = []-                                        }-                                      "a")))))))-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 8-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 4-                             , SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7-                             , SrcSpan "tests/examples/DerivingVia.hs" 383 7 383 8-                             ]-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7-                            , srcInfoPoints = []-                            }-                          "^+^"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 21-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 10 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 21-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17-                                     , srcInfoPoints = []-                                     }-                                   "liftU2")))-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19-                                   , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20-                                   , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21-                                   ]-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19-                                      , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20-                                      , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21-                                      ]-                                  }-                                (Symbol-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20-                                     , srcInfoPoints = []-                                     }-                                   "+")))))-                    Nothing)-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]-                      }-                    [ Symbol-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 8-                          , srcInfoPoints =-                              [ SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 4-                              , SrcSpan "tests/examples/DerivingVia.hs" 384 4 384 7-                              , SrcSpan "tests/examples/DerivingVia.hs" 384 7 384 8-                              ]-                          }-                        "^-^"-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 38-                         , srcInfoPoints = []-                         }-                       Nothing-                       (Just-                          (CxSingle-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]-                               }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 15-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 15-                                        , srcInfoPoints = []-                                        }-                                      "Num"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17-                                         , srcInfoPoints = []-                                         }-                                       "a")-                                ])))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 38-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 384 25 384 27 ]-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 24-                               , srcInfoPoints = []-                               }-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22-                                     , srcInfoPoints = []-                                     }-                                   "f"))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24-                                     , srcInfoPoints = []-                                     }-                                   "a")))-                          (TyFun-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 38-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 384 32 384 34 ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 31-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29-                                        , srcInfoPoints = []-                                        }-                                      "f"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31-                                        , srcInfoPoints = []-                                        }-                                      "a")))-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 38-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36-                                        , srcInfoPoints = []-                                        }-                                      "f"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38-                                        , srcInfoPoints = []-                                        }-                                      "a")))))))-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32-                      , srcInfoPoints = []-                      }-                    [ InfixMatch-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32-                          , srcInfoPoints = []-                          }-                        (PVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4-                                , srcInfoPoints = []-                                }-                              "x"))-                        (Symbol-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 5 385 8-                             , srcInfoPoints = []-                             }-                           "^-^")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10-                                 , srcInfoPoints = []-                                 }-                               "y")-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 32-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 12 ]-                             }-                           (InfixApp-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 32-                                , srcInfoPoints = []-                                }-                              (Var-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14-                                         , srcInfoPoints = []-                                         }-                                       "x")))-                              (QVarOp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18-                                      , srcInfoPoints = []-                                      }-                                    (Symbol-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18-                                         , srcInfoPoints = []-                                         }-                                       "^+^")))-                              (App-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 32-                                   , srcInfoPoints = []-                                   }-                                 (App-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 30-                                      , srcInfoPoints = []-                                      }-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 23-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 385 19 385 23-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 385 19 385 23-                                               , srcInfoPoints = []-                                               }-                                             "fmap")))-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 385 24 385 30-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 385 24 385 30-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 385 24 385 30-                                               , srcInfoPoints = []-                                               }-                                             "negate"))))-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 385 31 385 32-                                            , srcInfoPoints = []-                                            }-                                          "y"))))))-                        Nothing-                    ])-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 9-                          , srcInfoPoints = []-                          }-                        "liftU2"-                    ]-                    (TyFun-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 47-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 386 27 386 29 ]-                         }-                       (TyParen-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 26-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 14-                                , SrcSpan "tests/examples/DerivingVia.hs" 386 25 386 26-                                ]-                            }-                          (TyFun-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 25-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 386 16 386 18 ]-                               }-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15-                                     , srcInfoPoints = []-                                     }-                                   "a"))-                             (TyFun-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 25-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 386 21 386 23 ]-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20-                                        , srcInfoPoints = []-                                        }-                                      "a"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25-                                        , srcInfoPoints = []-                                        }-                                      "a")))))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 47-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 386 34 386 36 ]-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 33-                               , srcInfoPoints = []-                               }-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31-                                     , srcInfoPoints = []-                                     }-                                   "f"))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33-                                     , srcInfoPoints = []-                                     }-                                   "a")))-                          (TyFun-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 47-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 386 41 386 43 ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 40-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38-                                        , srcInfoPoints = []-                                        }-                                      "f"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40-                                        , srcInfoPoints = []-                                        }-                                      "a")))-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 47-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45-                                        , srcInfoPoints = []-                                        }-                                      "f"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47-                                        , srcInfoPoints = []-                                        }-                                      "a")))))))-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 388 1 395 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 9-                , SrcSpan "tests/examples/DerivingVia.hs" 388 22 388 27-                , SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 3-                , SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 3-                , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18-                           , srcInfoPoints = []-                           }-                         "Additive")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20-                         , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21-                         ]-                     }-                   (Special-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20-                            , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21-                            ]-                        }-                      (ListCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21-                           , srcInfoPoints =-                               [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20-                               , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21-                               ]-                           })))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7-                            , srcInfoPoints = []-                            }-                          "zero"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 12-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 9 ]-                         }-                       (List-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 12-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 11-                                , SrcSpan "tests/examples/DerivingVia.hs" 389 11 389 12-                                ]-                            }-                          []))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18-                          , srcInfoPoints =-                              [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 9-                             , srcInfoPoints = []-                             }-                           "liftU2")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11-                                 , srcInfoPoints = []-                                 }-                               "f")-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 16-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 13 ]-                             }-                           (Var-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16-                                , srcInfoPoints = []-                                }-                              (UnQual-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16-                                   , srcInfoPoints = []-                                   }-                                 (Ident-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16-                                      , srcInfoPoints = []-                                      }-                                    "go"))))-                        (Just-                           (BDecls-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18-                                , srcInfoPoints =-                                    [ SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 5-                                    , SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 5-                                    , SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 5-                                    , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0-                                    ]-                                }-                              [ FunBind-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18-                                    , srcInfoPoints = []-                                    }-                                  [ Match-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 40-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 7-                                           , srcInfoPoints = []-                                           }-                                         "go")-                                      [ PParen-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/DerivingVia.hs" 391 8 391 14-                                            , srcInfoPoints =-                                                [ SrcSpan-                                                    "tests/examples/DerivingVia.hs" 391 8 391 9-                                                , SrcSpan-                                                    "tests/examples/DerivingVia.hs" 391 13 391 14-                                                ]-                                            }-                                          (PInfixApp-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 391 9 391 13-                                               , srcInfoPoints = []-                                               }-                                             (PVar-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs" 391 9 391 10-                                                  , srcInfoPoints = []-                                                  }-                                                (Ident-                                                   SrcSpanInfo-                                                     { srcInfoSpan =-                                                         SrcSpan-                                                           "tests/examples/DerivingVia.hs"-                                                           391-                                                           9-                                                           391-                                                           10-                                                     , srcInfoPoints = []-                                                     }-                                                   "x"))-                                             (Special-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs"-                                                        391-                                                        10-                                                        391-                                                        11-                                                  , srcInfoPoints = []-                                                  }-                                                (Cons-                                                   SrcSpanInfo-                                                     { srcInfoSpan =-                                                         SrcSpan-                                                           "tests/examples/DerivingVia.hs"-                                                           391-                                                           10-                                                           391-                                                           11-                                                     , srcInfoPoints = []-                                                     }))-                                             (PVar-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs"-                                                        391-                                                        11-                                                        391-                                                        13-                                                  , srcInfoPoints = []-                                                  }-                                                (Ident-                                                   SrcSpanInfo-                                                     { srcInfoSpan =-                                                         SrcSpan-                                                           "tests/examples/DerivingVia.hs"-                                                           391-                                                           11-                                                           391-                                                           13-                                                     , srcInfoPoints = []-                                                     }-                                                   "xs")))-                                      , PParen-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 391 15 391 21-                                            , srcInfoPoints =-                                                [ SrcSpan-                                                    "tests/examples/DerivingVia.hs" 391 15 391 16-                                                , SrcSpan-                                                    "tests/examples/DerivingVia.hs" 391 20 391 21-                                                ]-                                            }-                                          (PInfixApp-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 391 16 391 20-                                               , srcInfoPoints = []-                                               }-                                             (PVar-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs"-                                                        391-                                                        16-                                                        391-                                                        17-                                                  , srcInfoPoints = []-                                                  }-                                                (Ident-                                                   SrcSpanInfo-                                                     { srcInfoSpan =-                                                         SrcSpan-                                                           "tests/examples/DerivingVia.hs"-                                                           391-                                                           16-                                                           391-                                                           17-                                                     , srcInfoPoints = []-                                                     }-                                                   "y"))-                                             (Special-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs"-                                                        391-                                                        17-                                                        391-                                                        18-                                                  , srcInfoPoints = []-                                                  }-                                                (Cons-                                                   SrcSpanInfo-                                                     { srcInfoSpan =-                                                         SrcSpan-                                                           "tests/examples/DerivingVia.hs"-                                                           391-                                                           17-                                                           391-                                                           18-                                                     , srcInfoPoints = []-                                                     }))-                                             (PVar-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs"-                                                        391-                                                        18-                                                        391-                                                        20-                                                  , srcInfoPoints = []-                                                  }-                                                (Ident-                                                   SrcSpanInfo-                                                     { srcInfoSpan =-                                                         SrcSpan-                                                           "tests/examples/DerivingVia.hs"-                                                           391-                                                           18-                                                           391-                                                           20-                                                     , srcInfoPoints = []-                                                     }-                                                   "ys")))-                                      ]-                                      (UnGuardedRhs-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 391 22 391 40-                                           , srcInfoPoints =-                                               [ SrcSpan-                                                   "tests/examples/DerivingVia.hs" 391 22 391 23-                                               ]-                                           }-                                         (InfixApp-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 391 24 391 40-                                              , srcInfoPoints = []-                                              }-                                            (App-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 391 24 391 29-                                                 , srcInfoPoints = []-                                                 }-                                               (App-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          391-                                                          24-                                                          391-                                                          27-                                                    , srcInfoPoints = []-                                                    }-                                                  (Var-                                                     SrcSpanInfo-                                                       { srcInfoSpan =-                                                           SrcSpan-                                                             "tests/examples/DerivingVia.hs"-                                                             391-                                                             24-                                                             391-                                                             25-                                                       , srcInfoPoints = []-                                                       }-                                                     (UnQual-                                                        SrcSpanInfo-                                                          { srcInfoSpan =-                                                              SrcSpan-                                                                "tests/examples/DerivingVia.hs"-                                                                391-                                                                24-                                                                391-                                                                25-                                                          , srcInfoPoints = []-                                                          }-                                                        (Ident-                                                           SrcSpanInfo-                                                             { srcInfoSpan =-                                                                 SrcSpan-                                                                   "tests/examples/DerivingVia.hs"-                                                                   391-                                                                   24-                                                                   391-                                                                   25-                                                             , srcInfoPoints = []-                                                             }-                                                           "f")))-                                                  (Var-                                                     SrcSpanInfo-                                                       { srcInfoSpan =-                                                           SrcSpan-                                                             "tests/examples/DerivingVia.hs"-                                                             391-                                                             26-                                                             391-                                                             27-                                                       , srcInfoPoints = []-                                                       }-                                                     (UnQual-                                                        SrcSpanInfo-                                                          { srcInfoSpan =-                                                              SrcSpan-                                                                "tests/examples/DerivingVia.hs"-                                                                391-                                                                26-                                                                391-                                                                27-                                                          , srcInfoPoints = []-                                                          }-                                                        (Ident-                                                           SrcSpanInfo-                                                             { srcInfoSpan =-                                                                 SrcSpan-                                                                   "tests/examples/DerivingVia.hs"-                                                                   391-                                                                   26-                                                                   391-                                                                   27-                                                             , srcInfoPoints = []-                                                             }-                                                           "x"))))-                                               (Var-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          391-                                                          28-                                                          391-                                                          29-                                                    , srcInfoPoints = []-                                                    }-                                                  (UnQual-                                                     SrcSpanInfo-                                                       { srcInfoSpan =-                                                           SrcSpan-                                                             "tests/examples/DerivingVia.hs"-                                                             391-                                                             28-                                                             391-                                                             29-                                                       , srcInfoPoints = []-                                                       }-                                                     (Ident-                                                        SrcSpanInfo-                                                          { srcInfoSpan =-                                                              SrcSpan-                                                                "tests/examples/DerivingVia.hs"-                                                                391-                                                                28-                                                                391-                                                                29-                                                          , srcInfoPoints = []-                                                          }-                                                        "y"))))-                                            (QConOp-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 391 30 391 31-                                                 , srcInfoPoints = []-                                                 }-                                               (Special-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          391-                                                          30-                                                          391-                                                          31-                                                    , srcInfoPoints = []-                                                    }-                                                  (Cons-                                                     SrcSpanInfo-                                                       { srcInfoSpan =-                                                           SrcSpan-                                                             "tests/examples/DerivingVia.hs"-                                                             391-                                                             30-                                                             391-                                                             31-                                                       , srcInfoPoints = []-                                                       })))-                                            (App-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 391 32 391 40-                                                 , srcInfoPoints = []-                                                 }-                                               (App-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          391-                                                          32-                                                          391-                                                          37-                                                    , srcInfoPoints = []-                                                    }-                                                  (Var-                                                     SrcSpanInfo-                                                       { srcInfoSpan =-                                                           SrcSpan-                                                             "tests/examples/DerivingVia.hs"-                                                             391-                                                             32-                                                             391-                                                             34-                                                       , srcInfoPoints = []-                                                       }-                                                     (UnQual-                                                        SrcSpanInfo-                                                          { srcInfoSpan =-                                                              SrcSpan-                                                                "tests/examples/DerivingVia.hs"-                                                                391-                                                                32-                                                                391-                                                                34-                                                          , srcInfoPoints = []-                                                          }-                                                        (Ident-                                                           SrcSpanInfo-                                                             { srcInfoSpan =-                                                                 SrcSpan-                                                                   "tests/examples/DerivingVia.hs"-                                                                   391-                                                                   32-                                                                   391-                                                                   34-                                                             , srcInfoPoints = []-                                                             }-                                                           "go")))-                                                  (Var-                                                     SrcSpanInfo-                                                       { srcInfoSpan =-                                                           SrcSpan-                                                             "tests/examples/DerivingVia.hs"-                                                             391-                                                             35-                                                             391-                                                             37-                                                       , srcInfoPoints = []-                                                       }-                                                     (UnQual-                                                        SrcSpanInfo-                                                          { srcInfoSpan =-                                                              SrcSpan-                                                                "tests/examples/DerivingVia.hs"-                                                                391-                                                                35-                                                                391-                                                                37-                                                          , srcInfoPoints = []-                                                          }-                                                        (Ident-                                                           SrcSpanInfo-                                                             { srcInfoSpan =-                                                                 SrcSpan-                                                                   "tests/examples/DerivingVia.hs"-                                                                   391-                                                                   35-                                                                   391-                                                                   37-                                                             , srcInfoPoints = []-                                                             }-                                                           "xs"))))-                                               (Var-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          391-                                                          38-                                                          391-                                                          40-                                                    , srcInfoPoints = []-                                                    }-                                                  (UnQual-                                                     SrcSpanInfo-                                                       { srcInfoSpan =-                                                           SrcSpan-                                                             "tests/examples/DerivingVia.hs"-                                                             391-                                                             38-                                                             391-                                                             40-                                                       , srcInfoPoints = []-                                                       }-                                                     (Ident-                                                        SrcSpanInfo-                                                          { srcInfoSpan =-                                                              SrcSpan-                                                                "tests/examples/DerivingVia.hs"-                                                                391-                                                                38-                                                                391-                                                                40-                                                          , srcInfoPoints = []-                                                          }-                                                        "ys"))))))-                                      Nothing-                                  , Match-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 18-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 7-                                           , srcInfoPoints = []-                                           }-                                         "go")-                                      [ PList-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/DerivingVia.hs" 392 8 392 10-                                            , srcInfoPoints =-                                                [ SrcSpan-                                                    "tests/examples/DerivingVia.hs" 392 8 392 9-                                                , SrcSpan-                                                    "tests/examples/DerivingVia.hs" 392 9 392 10-                                                ]-                                            }-                                          []-                                      , PVar-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 392 11 392 13-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 392 11 392 13-                                               , srcInfoPoints = []-                                               }-                                             "ys")-                                      ]-                                      (UnGuardedRhs-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 392 14 392 18-                                           , srcInfoPoints =-                                               [ SrcSpan-                                                   "tests/examples/DerivingVia.hs" 392 14 392 15-                                               ]-                                           }-                                         (Var-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 392 16 392 18-                                              , srcInfoPoints = []-                                              }-                                            (UnQual-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 392 16 392 18-                                                 , srcInfoPoints = []-                                                 }-                                               (Ident-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          392-                                                          16-                                                          392-                                                          18-                                                    , srcInfoPoints = []-                                                    }-                                                  "ys"))))-                                      Nothing-                                  , Match-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 18-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 7-                                           , srcInfoPoints = []-                                           }-                                         "go")-                                      [ PVar-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/DerivingVia.hs" 393 8 393 10-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 393 8 393 10-                                               , srcInfoPoints = []-                                               }-                                             "xs")-                                      , PList-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 393 11 393 13-                                            , srcInfoPoints =-                                                [ SrcSpan-                                                    "tests/examples/DerivingVia.hs" 393 11 393 12-                                                , SrcSpan-                                                    "tests/examples/DerivingVia.hs" 393 12 393 13-                                                ]-                                            }-                                          []-                                      ]-                                      (UnGuardedRhs-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 393 14 393 18-                                           , srcInfoPoints =-                                               [ SrcSpan-                                                   "tests/examples/DerivingVia.hs" 393 14 393 15-                                               ]-                                           }-                                         (Var-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 393 16 393 18-                                              , srcInfoPoints = []-                                              }-                                            (UnQual-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan-                                                       "tests/examples/DerivingVia.hs" 393 16 393 18-                                                 , srcInfoPoints = []-                                                 }-                                               (Ident-                                                  SrcSpanInfo-                                                    { srcInfoSpan =-                                                        SrcSpan-                                                          "tests/examples/DerivingVia.hs"-                                                          393-                                                          16-                                                          393-                                                          18-                                                    , srcInfoPoints = []-                                                    }-                                                  "xs"))))-                                      Nothing-                                  ]-                              ]))-                    ])-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 395 1 401 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 9-                , SrcSpan "tests/examples/DerivingVia.hs" 395 25 395 30-                , SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 3-                , SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 3-                , SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 3-                , SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 3-                , SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18-                           , srcInfoPoints = []-                           }-                         "Additive")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24-                           , srcInfoPoints = []-                           }-                         "Maybe")))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7-                            , srcInfoPoints = []-                            }-                          "zero"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 17-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 9 ]-                         }-                       (Con-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17-                                  , srcInfoPoints = []-                                  }-                                "Nothing"))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 44-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 9-                             , srcInfoPoints = []-                             }-                           "liftU2")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11-                                 , srcInfoPoints = []-                                 }-                               "f")-                        , PParen-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 20-                              , srcInfoPoints =-                                  [ SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 13-                                  , SrcSpan "tests/examples/DerivingVia.hs" 397 19 397 20-                                  ]-                              }-                            (PApp-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 19-                                 , srcInfoPoints = []-                                 }-                               (UnQual-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17-                                    , srcInfoPoints = []-                                    }-                                  (Ident-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17-                                       , srcInfoPoints = []-                                       }-                                     "Just"))-                               [ PVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19-                                        , srcInfoPoints = []-                                        }-                                      "a")-                               ])-                        , PParen-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 29-                              , srcInfoPoints =-                                  [ SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 22-                                  , SrcSpan "tests/examples/DerivingVia.hs" 397 28 397 29-                                  ]-                              }-                            (PApp-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 28-                                 , srcInfoPoints = []-                                 }-                               (UnQual-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26-                                    , srcInfoPoints = []-                                    }-                                  (Ident-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26-                                       , srcInfoPoints = []-                                       }-                                     "Just"))-                               [ PVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28-                                        , srcInfoPoints = []-                                        }-                                      "b")-                               ])-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 44-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 31 ]-                             }-                           (App-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 44-                                , srcInfoPoints = []-                                }-                              (Con-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36-                                         , srcInfoPoints = []-                                         }-                                       "Just")))-                              (Paren-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 44-                                   , srcInfoPoints =-                                       [ SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 38-                                       , SrcSpan "tests/examples/DerivingVia.hs" 397 43 397 44-                                       ]-                                   }-                                 (App-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 43-                                      , srcInfoPoints = []-                                      }-                                    (App-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 41-                                         , srcInfoPoints = []-                                         }-                                       (Var-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 397 38 397 39-                                            , srcInfoPoints = []-                                            }-                                          (UnQual-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 397 38 397 39-                                               , srcInfoPoints = []-                                               }-                                             (Ident-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs"-                                                        397-                                                        38-                                                        397-                                                        39-                                                  , srcInfoPoints = []-                                                  }-                                                "f")))-                                       (Var-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 397 40 397 41-                                            , srcInfoPoints = []-                                            }-                                          (UnQual-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 397 40 397 41-                                               , srcInfoPoints = []-                                               }-                                             (Ident-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs"-                                                        397-                                                        40-                                                        397-                                                        41-                                                  , srcInfoPoints = []-                                                  }-                                                "a"))))-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 397 42 397 43-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 397 42 397 43-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 397 42 397 43-                                               , srcInfoPoints = []-                                               }-                                             "b")))))))-                        Nothing-                    , Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 27-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 9-                             , srcInfoPoints = []-                             }-                           "liftU2")-                        [ PWildCard-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 398 10 398 11-                              , srcInfoPoints = []-                              }-                        , PApp-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19-                              , srcInfoPoints = []-                              }-                            (UnQual-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19-                                    , srcInfoPoints = []-                                    }-                                  "Nothing"))-                            []-                        , PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22-                                 , srcInfoPoints = []-                                 }-                               "ys")-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 27-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 24 ]-                             }-                           (Var-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27-                                , srcInfoPoints = []-                                }-                              (UnQual-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27-                                   , srcInfoPoints = []-                                   }-                                 (Ident-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27-                                      , srcInfoPoints = []-                                      }-                                    "ys"))))-                        Nothing-                    , Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 27-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 9-                             , srcInfoPoints = []-                             }-                           "liftU2")-                        [ PWildCard-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 399 10 399 11-                              , srcInfoPoints = []-                              }-                        , PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14-                                 , srcInfoPoints = []-                                 }-                               "xs")-                        , PApp-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22-                              , srcInfoPoints = []-                              }-                            (UnQual-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22-                                    , srcInfoPoints = []-                                    }-                                  "Nothing"))-                            []-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 27-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 24 ]-                             }-                           (Var-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27-                                , srcInfoPoints = []-                                }-                              (UnQual-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27-                                   , srcInfoPoints = []-                                   }-                                 (Ident-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27-                                      , srcInfoPoints = []-                                      }-                                    "xs"))))-                        Nothing-                    ])-             ])-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 401 1 405 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 9-                , SrcSpan "tests/examples/DerivingVia.hs" 401 56 401 61-                , SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 3-                , SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 3-                , SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 55-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxSingle-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]-                     }-                   (ClassA-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21-                              , srcInfoPoints = []-                              }-                            "Applicative"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23-                               , srcInfoPoints = []-                               }-                             "f")-                      ])))-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 55-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35-                           , srcInfoPoints = []-                           }-                         "Additive")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 55-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 37-                         , SrcSpan "tests/examples/DerivingVia.hs" 401 54 401 55-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 54-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52-                                 , srcInfoPoints = []-                                 }-                               "WrapApplicative")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54-                              , srcInfoPoints = []-                              }-                            "f"))))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7-                            , srcInfoPoints = []-                            }-                          "zero"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 18-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 11 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 18-                            , srcInfoPoints = []-                            }-                          (Var-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16-                                     , srcInfoPoints = []-                                     }-                                   "pure")))-                          (Lit-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18-                               , srcInfoPoints = []-                               }-                             (Int-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18-                                  , srcInfoPoints = []-                                  }-                                0-                                "0"))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9-                            , srcInfoPoints = []-                            }-                          "liftU2"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 18-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 11 ]-                         }-                       (Var-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18-                                  , srcInfoPoints = []-                                  }-                                "liftA2"))))-                    Nothing)-             ])-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 67-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 9-                , SrcSpan "tests/examples/DerivingVia.hs" 405 41 405 49-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 405 10 405 13-                  , srcInfoPoints = []-                  }-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 40-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 15-                         , SrcSpan "tests/examples/DerivingVia.hs" 405 39 405 40-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 39-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30-                                 , srcInfoPoints = []-                                 }-                               "WrapApplicative")))-                      (TyParen-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 39-                           , srcInfoPoints =-                               [ SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 32-                               , SrcSpan "tests/examples/DerivingVia.hs" 405 38 405 39-                               ]-                           }-                         (TyApp-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 38-                              , srcInfoPoints = []-                              }-                            (TyCon-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36-                                 , srcInfoPoints =-                                     [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33-                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35-                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36-                                     ]-                                 }-                               (Special-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36-                                    , srcInfoPoints =-                                        [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33-                                        , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35-                                        , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36-                                        ]-                                    }-                                  (FunCon-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36-                                       , srcInfoPoints =-                                           [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33-                                           , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35-                                           , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36-                                           ]-                                       })))-                            (TyVar-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38-                                    , srcInfoPoints = []-                                    }-                                  "a"))))))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58-                           , srcInfoPoints = []-                           }-                         "Additive")))-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 67-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 60-                         , SrcSpan "tests/examples/DerivingVia.hs" 405 66 405 67-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 66-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64-                           , srcInfoPoints =-                               [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61-                               , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63-                               , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64-                               ]-                           }-                         (Special-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64-                              , srcInfoPoints =-                                  [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61-                                  , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63-                                  , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64-                                  ]-                              }-                            (FunCon-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64-                                 , srcInfoPoints =-                                     [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61-                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63-                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64-                                     ]-                                 })))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66-                              , srcInfoPoints = []-                              }-                            "a"))))))-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 66-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 9-                , SrcSpan "tests/examples/DerivingVia.hs" 406 41 406 49-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 406 10 406 13-                  , srcInfoPoints = []-                  }-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 39-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 15-                         , SrcSpan "tests/examples/DerivingVia.hs" 406 38 406 39-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 38-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30-                                 , srcInfoPoints = []-                                 }-                               "WrapApplicative")))-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38-                                 , srcInfoPoints = []-                                 }-                               "Complex")))))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58-                           , srcInfoPoints = []-                           }-                         "Additive")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66-                           , srcInfoPoints = []-                           }-                         "Complex")))))-      , DerivDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 67-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 9-                , SrcSpan "tests/examples/DerivingVia.hs" 407 41 407 49-                ]-            }-          (Just-             (DerivVia-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 407 10 407 13-                  , srcInfoPoints = []-                  }-                (TyParen-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 40-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 15-                         , SrcSpan "tests/examples/DerivingVia.hs" 407 39 407 40-                         ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 39-                        , srcInfoPoints = []-                        }-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30-                                 , srcInfoPoints = []-                                 }-                               "WrapApplicative")))-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39-                           , srcInfoPoints = []-                           }-                         (UnQual-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39-                                 , srcInfoPoints = []-                                 }-                               "Identity")))))))-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58-                           , srcInfoPoints = []-                           }-                         "Additive")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67-                           , srcInfoPoints = []-                           }-                         "Identity")))))-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 409 1 413 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 409 1 409 9-                , SrcSpan "tests/examples/DerivingVia.hs" 409 27 409 32-                , SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 3-                , SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 3-                , SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18-                           , srcInfoPoints = []-                           }-                         "Additive")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26-                           , srcInfoPoints = []-                           }-                         "ZipList")))))-          (Just-             [ InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7-                            , srcInfoPoints = []-                            }-                          "zero"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 20-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 9 ]-                         }-                       (App-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 20-                            , srcInfoPoints = []-                            }-                          (Con-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17-                                     , srcInfoPoints = []-                                     }-                                   "ZipList")))-                          (List-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 20-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 19-                                   , SrcSpan "tests/examples/DerivingVia.hs" 410 19 410 20-                                   ]-                               }-                             [])))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64-                      , srcInfoPoints = []-                      }-                    [ Match-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64-                          , srcInfoPoints = []-                          }-                        (Ident-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 9-                             , srcInfoPoints = []-                             }-                           "liftU2")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11-                                 , srcInfoPoints = []-                                 }-                               "f")-                        , PParen-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 24-                              , srcInfoPoints =-                                  [ SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 13-                                  , SrcSpan "tests/examples/DerivingVia.hs" 411 23 411 24-                                  ]-                              }-                            (PApp-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 23-                                 , srcInfoPoints = []-                                 }-                               (UnQual-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20-                                    , srcInfoPoints = []-                                    }-                                  (Ident-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20-                                       , srcInfoPoints = []-                                       }-                                     "ZipList"))-                               [ PVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23-                                        , srcInfoPoints = []-                                        }-                                      "xs")-                               ])-                        , PParen-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 37-                              , srcInfoPoints =-                                  [ SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 26-                                  , SrcSpan "tests/examples/DerivingVia.hs" 411 36 411 37-                                  ]-                              }-                            (PApp-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 36-                                 , srcInfoPoints = []-                                 }-                               (UnQual-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33-                                    , srcInfoPoints = []-                                    }-                                  (Ident-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33-                                       , srcInfoPoints = []-                                       }-                                     "ZipList"))-                               [ PVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36-                                        , srcInfoPoints = []-                                        }-                                      "ys")-                               ])-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 64-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 39 ]-                             }-                           (App-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 64-                                , srcInfoPoints = []-                                }-                              (Con-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47-                                         , srcInfoPoints = []-                                         }-                                       "ZipList")))-                              (Paren-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 64-                                   , srcInfoPoints =-                                       [ SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 49-                                       , SrcSpan "tests/examples/DerivingVia.hs" 411 63 411 64-                                       ]-                                   }-                                 (App-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 63-                                      , srcInfoPoints = []-                                      }-                                    (App-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 60-                                         , srcInfoPoints = []-                                         }-                                       (App-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 411 49 411 57-                                            , srcInfoPoints = []-                                            }-                                          (Var-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 411 49 411 55-                                               , srcInfoPoints = []-                                               }-                                             (UnQual-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs"-                                                        411-                                                        49-                                                        411-                                                        55-                                                  , srcInfoPoints = []-                                                  }-                                                (Ident-                                                   SrcSpanInfo-                                                     { srcInfoSpan =-                                                         SrcSpan-                                                           "tests/examples/DerivingVia.hs"-                                                           411-                                                           49-                                                           411-                                                           55-                                                     , srcInfoPoints = []-                                                     }-                                                   "liftU2")))-                                          (Var-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 411 56 411 57-                                               , srcInfoPoints = []-                                               }-                                             (UnQual-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs"-                                                        411-                                                        56-                                                        411-                                                        57-                                                  , srcInfoPoints = []-                                                  }-                                                (Ident-                                                   SrcSpanInfo-                                                     { srcInfoSpan =-                                                         SrcSpan-                                                           "tests/examples/DerivingVia.hs"-                                                           411-                                                           56-                                                           411-                                                           57-                                                     , srcInfoPoints = []-                                                     }-                                                   "f"))))-                                       (Var-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 411 58 411 60-                                            , srcInfoPoints = []-                                            }-                                          (UnQual-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 411 58 411 60-                                               , srcInfoPoints = []-                                               }-                                             (Ident-                                                SrcSpanInfo-                                                  { srcInfoSpan =-                                                      SrcSpan-                                                        "tests/examples/DerivingVia.hs"-                                                        411-                                                        58-                                                        411-                                                        60-                                                  , srcInfoPoints = []-                                                  }-                                                "xs"))))-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 411 61 411 63-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 411 61 411 63-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 411 61 411 63-                                               , srcInfoPoints = []-                                               }-                                             "ys")))))))-                        Nothing-                    ])-             ])-      , ClassDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 413 1 419 32-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 6-                , SrcSpan "tests/examples/DerivingVia.hs" 413 37 413 42-                , SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 3-                , SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 3-                , SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 3-                , SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 3-                , SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 3-                , SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 0-                ]-            }-          (Just-             (CxSingle-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]-                  }-                (ClassA-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15-                           , srcInfoPoints = []-                           }-                         "Additive"))-                   [ TyParen-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 24-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 17-                             , SrcSpan "tests/examples/DerivingVia.hs" 413 23 413 24-                             ]-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 23-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21-                                     , srcInfoPoints = []-                                     }-                                   "Diff")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23-                                  , srcInfoPoints = []-                                  }-                                "p")))-                   ])))-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 36-               , srcInfoPoints = []-               }-             (DHead-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34-                     , srcInfoPoints = []-                     }-                   "Affine"))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36-                     , srcInfoPoints = []-                     }-                   "p")))-          []-          (Just-             [ ClsTyFam-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 30-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 7 ]-                   }-                 (DHApp-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 14-                      , srcInfoPoints = []-                      }-                    (DHead-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12-                            , srcInfoPoints = []-                            }-                          "Diff"))-                    (UnkindedVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14-                            , srcInfoPoints = []-                            }-                          "p")))-                 (Just-                    (KindSig-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 30-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 17 ]-                         }-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 30-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 414 23 414 25 ]-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22-                                     , srcInfoPoints = []-                                     }-                                   "Type")))-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30-                                     , srcInfoPoints = []-                                     }-                                   "Type"))))))-                 Nothing-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]-                      }-                    [ Symbol-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 8-                          , srcInfoPoints =-                              [ SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 4-                              , SrcSpan "tests/examples/DerivingVia.hs" 416 4 416 7-                              , SrcSpan "tests/examples/DerivingVia.hs" 416 7 416 8-                              ]-                          }-                        ".-."-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 43-                         , srcInfoPoints = []-                         }-                       Nothing-                       (Just-                          (CxSingle-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]-                               }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 15-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 15-                                        , srcInfoPoints = []-                                        }-                                      "Num"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17-                                         , srcInfoPoints = []-                                         }-                                       "a")-                                ])))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 43-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 416 25 416 27 ]-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 24-                               , srcInfoPoints = []-                               }-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22-                                     , srcInfoPoints = []-                                     }-                                   "p"))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24-                                     , srcInfoPoints = []-                                     }-                                   "a")))-                          (TyFun-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 43-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 416 32 416 34 ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 31-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29-                                        , srcInfoPoints = []-                                        }-                                      "p"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31-                                        , srcInfoPoints = []-                                        }-                                      "a")))-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 43-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 41-                                     , srcInfoPoints = []-                                     }-                                   (TyCon-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39-                                        , srcInfoPoints = []-                                        }-                                      (UnQual-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 416 35 416 39-                                              , srcInfoPoints = []-                                              }-                                            "Diff")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41-                                           , srcInfoPoints = []-                                           }-                                         "p")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43-                                        , srcInfoPoints = []-                                        }-                                      "a")))))))-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]-                      }-                    [ Symbol-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 8-                          , srcInfoPoints =-                              [ SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 4-                              , SrcSpan "tests/examples/DerivingVia.hs" 417 4 417 7-                              , SrcSpan "tests/examples/DerivingVia.hs" 417 7 417 8-                              ]-                          }-                        ".+^"-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 43-                         , srcInfoPoints = []-                         }-                       Nothing-                       (Just-                          (CxSingle-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]-                               }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 15-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 15-                                        , srcInfoPoints = []-                                        }-                                      "Num"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17-                                         , srcInfoPoints = []-                                         }-                                       "a")-                                ])))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 43-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 417 25 417 27 ]-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 24-                               , srcInfoPoints = []-                               }-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22-                                     , srcInfoPoints = []-                                     }-                                   "p"))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24-                                     , srcInfoPoints = []-                                     }-                                   "a")))-                          (TyFun-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 43-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 417 37 417 39 ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 36-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 34-                                     , srcInfoPoints = []-                                     }-                                   (TyCon-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32-                                        , srcInfoPoints = []-                                        }-                                      (UnQual-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 417 28 417 32-                                              , srcInfoPoints = []-                                              }-                                            "Diff")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34-                                           , srcInfoPoints = []-                                           }-                                         "p")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36-                                        , srcInfoPoints = []-                                        }-                                      "a")))-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 43-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41-                                        , srcInfoPoints = []-                                        }-                                      "p"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43-                                        , srcInfoPoints = []-                                        }-                                      "a")))))))-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]-                      }-                    [ Symbol-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 8-                          , srcInfoPoints =-                              [ SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 4-                              , SrcSpan "tests/examples/DerivingVia.hs" 418 4 418 7-                              , SrcSpan "tests/examples/DerivingVia.hs" 418 7 418 8-                              ]-                          }-                        ".-^"-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 43-                         , srcInfoPoints = []-                         }-                       Nothing-                       (Just-                          (CxSingle-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]-                               }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 15-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 15-                                        , srcInfoPoints = []-                                        }-                                      "Num"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17-                                         , srcInfoPoints = []-                                         }-                                       "a")-                                ])))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 43-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/DerivingVia.hs" 418 25 418 27 ]-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 24-                               , srcInfoPoints = []-                               }-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22-                                     , srcInfoPoints = []-                                     }-                                   "p"))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24-                                     , srcInfoPoints = []-                                     }-                                   "a")))-                          (TyFun-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 43-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/DerivingVia.hs" 418 37 418 39 ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 36-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 34-                                     , srcInfoPoints = []-                                     }-                                   (TyCon-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32-                                        , srcInfoPoints = []-                                        }-                                      (UnQual-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32-                                           , srcInfoPoints = []-                                           }-                                         (Ident-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan-                                                    "tests/examples/DerivingVia.hs" 418 28 418 32-                                              , srcInfoPoints = []-                                              }-                                            "Diff")))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34-                                           , srcInfoPoints = []-                                           }-                                         "p")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36-                                        , srcInfoPoints = []-                                        }-                                      "a")))-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 43-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41-                                        , srcInfoPoints = []-                                        }-                                      "p"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43-                                        , srcInfoPoints = []-                                        }-                                      "a")))))))-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32-                   , srcInfoPoints = []-                   }-                 (FunBind-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32-                      , srcInfoPoints = []-                      }-                    [ InfixMatch-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32-                          , srcInfoPoints = []-                          }-                        (PVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4-                                , srcInfoPoints = []-                                }-                              "p"))-                        (Symbol-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 5 419 8-                             , srcInfoPoints = []-                             }-                           ".-^")-                        [ PVar-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan =-                                     SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10-                                 , srcInfoPoints = []-                                 }-                               "v")-                        ]-                        (UnGuardedRhs-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 32-                             , srcInfoPoints =-                                 [ SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 12 ]-                             }-                           (InfixApp-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 32-                                , srcInfoPoints = []-                                }-                              (Var-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14-                                         , srcInfoPoints = []-                                         }-                                       "p")))-                              (QVarOp-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18-                                      , srcInfoPoints = []-                                      }-                                    (Symbol-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18-                                         , srcInfoPoints = []-                                         }-                                       ".+^")))-                              (App-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 32-                                   , srcInfoPoints = []-                                   }-                                 (App-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 30-                                      , srcInfoPoints = []-                                      }-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 23-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 419 19 419 23-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 419 19 419 23-                                               , srcInfoPoints = []-                                               }-                                             "fmap")))-                                    (Var-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 419 24 419 30-                                         , srcInfoPoints = []-                                         }-                                       (UnQual-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 419 24 419 30-                                            , srcInfoPoints = []-                                            }-                                          (Ident-                                             SrcSpanInfo-                                               { srcInfoSpan =-                                                   SrcSpan-                                                     "tests/examples/DerivingVia.hs" 419 24 419 30-                                               , srcInfoPoints = []-                                               }-                                             "negate"))))-                                 (Var-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32-                                      , srcInfoPoints = []-                                      }-                                    (UnQual-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/DerivingVia.hs" 419 31 419 32-                                            , srcInfoPoints = []-                                            }-                                          "v"))))))-                        Nothing-                    ])-             ])-      , DataDecl-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 49-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 425 26 425 27 ]-            }-          (NewType-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 8-               , srcInfoPoints = []-               })-          Nothing-          (DHApp-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 25-               , srcInfoPoints = []-               }-             (DHApp-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 23-                  , srcInfoPoints = []-                  }-                (DHead-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21-                     , srcInfoPoints = []-                     }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21-                        , srcInfoPoints = []-                        }-                      "WrapAdditive"))-                (UnkindedVar-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23-                     , srcInfoPoints = []-                     }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23-                        , srcInfoPoints = []-                        }-                      "f")))-             (UnkindedVar-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25-                  , srcInfoPoints = []-                  }-                (Ident-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25-                     , srcInfoPoints = []-                     }-                   "a")))-          [ QualConDecl-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49-                , srcInfoPoints = []-                }-              Nothing-              Nothing-              (ConDecl-                 SrcSpanInfo-                   { srcInfoSpan =-                       SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49-                   , srcInfoPoints = []-                   }-                 (Ident-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 43-                      , srcInfoPoints = []-                      }-                    "WrappedAdditive")-                 [ TyParen-                     SrcSpanInfo-                       { srcInfoSpan =-                           SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 49-                       , srcInfoPoints =-                           [ SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 45-                           , SrcSpan "tests/examples/DerivingVia.hs" 425 48 425 49-                           ]-                       }-                     (TyApp-                        SrcSpanInfo-                          { srcInfoSpan =-                              SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 48-                          , srcInfoPoints = []-                          }-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46-                                , srcInfoPoints = []-                                }-                              "f"))-                        (TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48-                                , srcInfoPoints = []-                                }-                              "a")))-                 ])-          ]-          []-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 427 1 435 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/DerivingVia.hs" 427 1 427 9-                , SrcSpan "tests/examples/DerivingVia.hs" 427 48 427 53-                , SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 3-                , SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 3-                , SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 3-                , SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 3-                , SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 47-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxSingle-                   SrcSpanInfo-                     { srcInfoSpan =-                         SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]-                     }-                   (ClassA-                      SrcSpanInfo-                        { srcInfoSpan =-                            SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]-                        }-                      (UnQual-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18-                              , srcInfoPoints = []-                              }-                            "Additive"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20-                               , srcInfoPoints = []-                               }-                             "f")-                      ])))+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19+                                    , srcInfoPoints = []+                                    }+                                  "Bifunctor")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21+                                 , srcInfoPoints = []+                                 }+                               "p"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 43+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+                           , srcInfoPoints = []+                           }+                         "Bifunctor")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 43+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 36+                         , SrcSpan "tests/examples/DerivingVia.hs" 52 42 52 43+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 42+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+                                 , srcInfoPoints = []+                                 }+                               "Flip")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42+                              , srcInfoPoints = []+                              }+                            "p"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 8+                             , srcInfoPoints = []+                             }+                           "bimap")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10+                                 , srcInfoPoints = []+                                 }+                               "f")+                        , PVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12+                                 , srcInfoPoints = []+                                 }+                               "g")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 41+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 14 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 41+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+                                         , srcInfoPoints = []+                                         }+                                       "Flip")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+                                         , srcInfoPoints = []+                                         }+                                       ".")))+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 41+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 31+                                      , srcInfoPoints = []+                                      }+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 29+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 27+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 53 22 53 27+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs" 53 22 53 27+                                                  , srcInfoPoints = []+                                                  }+                                                "bimap")))+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 53 28 53 29+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 53 28 53 29+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs" 53 28 53 29+                                                  , srcInfoPoints = []+                                                  }+                                                "g"))))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 53 30 53 31+                                               , srcInfoPoints = []+                                               }+                                             "f"))))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+                                            , srcInfoPoints = []+                                            }+                                          ".")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+                                            , srcInfoPoints = []+                                            }+                                          "runFlip"))))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 1 58 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 9+                , SrcSpan "tests/examples/DerivingVia.hs" 55 44 55 49+                , SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 3+                , SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 43+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19+                                    , srcInfoPoints = []+                                    }+                                  "Bifunctor")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21+                                 , srcInfoPoints = []+                                 }+                               "p"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 43+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+                           , srcInfoPoints = []+                           }+                         "Functor")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 43+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 34+                         , SrcSpan "tests/examples/DerivingVia.hs" 55 42 55 43+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 42+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 40+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+                                    , srcInfoPoints = []+                                    }+                                  "Flip")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40+                                 , srcInfoPoints = []+                                 }+                               "p")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 7+                             , srcInfoPoints = []+                             }+                           "fmap")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9+                                 , srcInfoPoints = []+                                 }+                               "f")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 36+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 11 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 36+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+                                         , srcInfoPoints = []+                                         }+                                       "Flip")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+                                         , srcInfoPoints = []+                                         }+                                       ".")))+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 36+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 26+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 56 19 56 24+                                               , srcInfoPoints = []+                                               }+                                             "first")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 56 25 56 26+                                               , srcInfoPoints = []+                                               }+                                             "f"))))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+                                            , srcInfoPoints = []+                                            }+                                          ".")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+                                            , srcInfoPoints = []+                                            }+                                          "runFlip"))))))+                        Nothing+                    ])+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 59 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 58 15 58 16 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 14+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12+                     , srcInfoPoints = []+                     }+                   "Bar"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 22+                      , srcInfoPoints = []+                      }+                    "MkBar")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 37+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 24+                           , SrcSpan "tests/examples/DerivingVia.hs" 58 36 58 37+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 36+                          , srcInfoPoints = []+                          }+                        (TyApp+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 32+                             , srcInfoPoints = []+                             }+                           (TyCon+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+                                      , srcInfoPoints = []+                                      }+                                    "Either")))+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32+                                   , srcInfoPoints = []+                                   }+                                 "a")))+                        (TyCon+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+                                   , srcInfoPoints = []+                                   }+                                 "Int"))))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 19+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 11 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 8 60 11+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 29+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 13+                             , SrcSpan "tests/examples/DerivingVia.hs" 60 28 60 29+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 28+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 24+                               , srcInfoPoints = []+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+                                        , srcInfoPoints = []+                                        }+                                      "Flip")))+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+                                        , srcInfoPoints = []+                                        }+                                      "Either"))))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+                                     , srcInfoPoints = []+                                     }+                                   "Int")))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+                             , srcInfoPoints = []+                             }+                           "Functor")))+              ]+          ]+      , TypeDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 47+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 5+                , SrcSpan "tests/examples/DerivingVia.hs" 66 13 66 14+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12+                  , srcInfoPoints = []+                  }+                "MTrans"))+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 47+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/DerivingVia.hs" 66 30 66 32 ]+               }+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 29+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 16+                      , SrcSpan "tests/examples/DerivingVia.hs" 66 28 66 29+                      ]+                  }+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 28+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 66 21 66 23 ]+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+                              , srcInfoPoints = []+                              }+                            "Type")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+                              , srcInfoPoints = []+                              }+                            "Type")))))+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 47+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 34+                      , SrcSpan "tests/examples/DerivingVia.hs" 66 46 66 47+                      ]+                  }+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 46+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 66 39 66 41 ]+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+                              , srcInfoPoints = []+                              }+                            "Type")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+                              , srcInfoPoints = []+                              }+                            "Type"))))))+      , GDataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 72 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 69 13 69 18+                , SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 3+                , SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 0+                ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 69 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 12+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10+                     , srcInfoPoints = []+                     }+                   "Dict"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12+                     , srcInfoPoints = []+                     }+                   "c")))+          Nothing+          [ GadtDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 22+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 70 8 70 10 ]+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 7+                   , srcInfoPoints = []+                   }+                 "Dict")+              Nothing+              Nothing+              Nothing+              (TyForall+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 22+                   , srcInfoPoints = []+                   }+                 Nothing+                 (Just+                    (CxSingle+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+                         }+                       (TypeA+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 12+                                  , srcInfoPoints = []+                                  }+                                "c")))))+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 22+                      , srcInfoPoints = []+                      }+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+                               , srcInfoPoints = []+                               }+                             "Dict")))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22+                            , srcInfoPoints = []+                            }+                          "c"))))+          ]+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 35+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 72 16 72 17 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15+               , srcInfoPoints = []+               }+             (DHInfix+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15+                  , srcInfoPoints = []+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10+                        , srcInfoPoints = []+                        }+                      "a"))+                (Symbol+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 11 72 13+                     , srcInfoPoints = []+                     }+                   ":-"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15+                     , srcInfoPoints = []+                     }+                   "b")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 21+                      , srcInfoPoints = []+                      }+                    "Sub")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 35+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 23+                           , SrcSpan "tests/examples/DerivingVia.hs" 72 34 72 35+                           ]+                       }+                     (TyForall+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 34+                          , srcInfoPoints = []+                          }+                        Nothing+                        (Just+                           (CxSingle+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+                                }+                              (TypeA+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+                                   }+                                 (TyVar+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 24+                                         , srcInfoPoints = []+                                         }+                                       "a")))))+                        (TyApp+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 34+                             , srcInfoPoints = []+                             }+                           (TyCon+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+                                      , srcInfoPoints = []+                                      }+                                    "Dict")))+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34+                                   , srcInfoPoints = []+                                   }+                                 "b"))))+                 ])+          ]+          []+      , InfixDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 12+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 74 8 74 9 ]+            }+          (AssocLeft+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 7+               , srcInfoPoints = []+               })+          (Just 1)+          [ VarOp+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12+                , srcInfoPoints = []+                }+              (Symbol+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12+                   , srcInfoPoints = []+                   }+                 "\\\\")+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 39+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 75 6 75 8 ]+            }+          [ Symbol+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 5+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 2+                    , SrcSpan "tests/examples/DerivingVia.hs" 75 2 75 4+                    , SrcSpan "tests/examples/DerivingVia.hs" 75 4 75 5+                    ]+                }+              "\\\\"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 39+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+                        }+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 10+                              , srcInfoPoints = []+                              }+                            "a")))))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 39+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 75 23 75 25 ]+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 22+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 75 21 75 22+                         ]+                     }+                   (TyForall+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 21+                        , srcInfoPoints = []+                        }+                      Nothing+                      (Just+                         (CxSingle+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+                              }+                            (TypeA+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+                                 }+                               (TyVar+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+                                    , srcInfoPoints =+                                        [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 16+                                       , srcInfoPoints = []+                                       }+                                     "b")))))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21+                              , srcInfoPoints = []+                              }+                            "r"))))+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 39+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 75 35 75 37 ]+                     }+                   (TyParen+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 34+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 27+                            , SrcSpan "tests/examples/DerivingVia.hs" 75 33 75 34+                            ]+                        }+                      (TyInfix+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 33+                           , srcInfoPoints = []+                           }+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28+                                 , srcInfoPoints = []+                                 }+                               "a"))+                         (UnpromotedName+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+                                 , srcInfoPoints = []+                                 }+                               (Symbol+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+                                    , srcInfoPoints = []+                                    }+                                  ":-")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33+                                 , srcInfoPoints = []+                                 }+                               "b"))))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39+                           , srcInfoPoints = []+                           }+                         "r")))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18+            , srcInfoPoints = []+            }+          [ InfixMatch+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18+                , srcInfoPoints = []+                }+              (PVar+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2+                      , srcInfoPoints = []+                      }+                    "r"))+              (Symbol+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 3 76 5+                   , srcInfoPoints = []+                   }+                 "\\\\")+              [ PApp+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 14+                    , srcInfoPoints = []+                    }+                  (UnQual+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9+                          , srcInfoPoints = []+                          }+                        "Sub"))+                  [ PApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+                              , srcInfoPoints = []+                              }+                            "Dict"))+                      []+                  ]+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 18+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 16 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+                            , srcInfoPoints = []+                            }+                          "r"))))+              Nothing+          ]+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 1 85 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 84 1 84 6+                , SrcSpan "tests/examples/DerivingVia.hs" 84 38 84 43+                , SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 3+                , SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 37+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19+                     , srcInfoPoints = []+                     }+                   "LiftingMonad"))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 37+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 21+                      , SrcSpan "tests/examples/DerivingVia.hs" 84 27 84 29+                      , SrcSpan "tests/examples/DerivingVia.hs" 84 36 84 37+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 21 84 26+                     , srcInfoPoints = []+                     }+                   "trans")+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+                           , srcInfoPoints = []+                           }+                         "MTrans")))))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 8+                          , srcInfoPoints = []+                          }+                        "proof"+                    ]+                    (TyInfix+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 38+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 19+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19+                                  , srcInfoPoints = []+                                  }+                                "m")))+                       (UnpromotedName+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+                               , srcInfoPoints = []+                               }+                             (Symbol+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+                                  , srcInfoPoints = []+                                  }+                                ":-")))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 38+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 38+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 30+                                   , SrcSpan "tests/examples/DerivingVia.hs" 85 37 85 38+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 37+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35+                                        , srcInfoPoints = []+                                        }+                                      "trans"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37+                                        , srcInfoPoints = []+                                        }+                                      "m")))))))+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 1 91 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 9+                , SrcSpan "tests/examples/DerivingVia.hs" 87 44 87 49+                , SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 3+                , SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 3+                , SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+                           , srcInfoPoints = []+                           }+                         "LiftingMonad")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 43+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 24+                         , SrcSpan "tests/examples/DerivingVia.hs" 87 33 87 35+                         , SrcSpan "tests/examples/DerivingVia.hs" 87 42 87 43+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 32+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+                                 , srcInfoPoints = []+                                 }+                               "StateT")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32+                              , srcInfoPoints = []+                              }+                            "s")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 8+                          , srcInfoPoints = []+                          }+                        "proof"+                    ]+                    (TyInfix+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 41+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 19+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19+                                  , srcInfoPoints = []+                                  }+                                "m")))+                       (UnpromotedName+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+                               , srcInfoPoints = []+                               }+                             (Symbol+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+                                  , srcInfoPoints = []+                                  }+                                ":-")))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 41+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 41+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 30+                                   , SrcSpan "tests/examples/DerivingVia.hs" 88 40 88 41+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 40+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 38+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 88 30 88 36+                                              , srcInfoPoints = []+                                              }+                                            "StateT")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38+                                           , srcInfoPoints = []+                                           }+                                         "s")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40+                                        , srcInfoPoints = []+                                        }+                                      "m")))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8+                            , srcInfoPoints = []+                            }+                          "proof"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 19+                            , srcInfoPoints = []+                            }+                          (Con+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+                                     , srcInfoPoints = []+                                     }+                                   "Sub")))+                          (Con+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+                                     , srcInfoPoints = []+                                     }+                                   "Dict")))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 1 95 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 9+                , SrcSpan "tests/examples/DerivingVia.hs" 91 57 91 62+                , SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 3+                , SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 3+                , SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 56+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16+                                    , srcInfoPoints = []+                                    }+                                  "Monoid")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18+                                 , srcInfoPoints = []+                                 }+                               "w"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 56+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+                           , srcInfoPoints = []+                           }+                         "LiftingMonad")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 56+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 36+                         , SrcSpan "tests/examples/DerivingVia.hs" 91 46 91 48+                         , SrcSpan "tests/examples/DerivingVia.hs" 91 55 91 56+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 45+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+                                 , srcInfoPoints = []+                                 }+                               "WriterT")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45+                              , srcInfoPoints = []+                              }+                            "w")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 8+                          , srcInfoPoints = []+                          }+                        "proof"+                    ]+                    (TyInfix+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 42+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 19+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19+                                  , srcInfoPoints = []+                                  }+                                "m")))+                       (UnpromotedName+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+                               , srcInfoPoints = []+                               }+                             (Symbol+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+                                  , srcInfoPoints = []+                                  }+                                ":-")))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 42+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 42+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 30+                                   , SrcSpan "tests/examples/DerivingVia.hs" 92 41 92 42+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 41+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 39+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 92 30 92 37+                                              , srcInfoPoints = []+                                              }+                                            "WriterT")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39+                                           , srcInfoPoints = []+                                           }+                                         "w")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41+                                        , srcInfoPoints = []+                                        }+                                      "m")))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8+                            , srcInfoPoints = []+                            }+                          "proof"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 19+                            , srcInfoPoints = []+                            }+                          (Con+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+                                     , srcInfoPoints = []+                                     }+                                   "Sub")))+                          (Con+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+                                     , srcInfoPoints = []+                                     }+                                   "Dict")))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 1 99 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 9+                , SrcSpan "tests/examples/DerivingVia.hs" 95 102 95 107+                , SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 3+                , SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 3+                , SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 101+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 54+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 95 29 95 30+                         , SrcSpan "tests/examples/DerivingVia.hs" 95 50 95 51+                         , SrcSpan "tests/examples/DerivingVia.hs" 95 52 95 54+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23+                                     , srcInfoPoints = []+                                     }+                                   "LiftingMonad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29+                                  , srcInfoPoints = []+                                  }+                                "trans")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43+                                     , srcInfoPoints = []+                                     }+                                   "LiftingMonad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50+                                  , srcInfoPoints = []+                                  }+                                "trans'")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 101+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+                           , srcInfoPoints = []+                           }+                         "LiftingMonad")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 101+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 69+                         , SrcSpan "tests/examples/DerivingVia.hs" 95 91 95 93+                         , SrcSpan "tests/examples/DerivingVia.hs" 95 100 95 101+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 90+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 83+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+                                    , srcInfoPoints = []+                                    }+                                  "ComposeT")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83+                                 , srcInfoPoints = []+                                 }+                               "trans")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90+                              , srcInfoPoints = []+                              }+                            "trans'")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 8+                          , srcInfoPoints = []+                          }+                        "proof"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 64+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 18+                             , SrcSpan "tests/examples/DerivingVia.hs" 96 20 96 21+                             ]+                         }+                       (Just+                          [ UnkindedVar+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20+                                   , srcInfoPoints = []+                                   }+                                 "m")+                          ])+                       Nothing+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 64+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 29+                               , srcInfoPoints = []+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+                                        , srcInfoPoints = []+                                        }+                                      "Monad")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29+                                     , srcInfoPoints = []+                                     }+                                   "m")))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+                                     , srcInfoPoints = []+                                     }+                                   ":-")))+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 64+                               , srcInfoPoints = []+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+                                        , srcInfoPoints = []+                                        }+                                      "Monad")))+                             (TyParen+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 64+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 40+                                      , SrcSpan "tests/examples/DerivingVia.hs" 96 63 96 64+                                      ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 63+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 61+                                        , srcInfoPoints = []+                                        }+                                      (TyApp+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 54+                                           , srcInfoPoints = []+                                           }+                                         (TyCon+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 96 40 96 48+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 96 40 96 48+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          96+                                                          40+                                                          96+                                                          48+                                                    , srcInfoPoints = []+                                                    }+                                                  "ComposeT")))+                                         (TyVar+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 96 49 96 54+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 96 49 96 54+                                                 , srcInfoPoints = []+                                                 }+                                               "trans")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 96 55 96 61+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 96 55 96 61+                                              , srcInfoPoints = []+                                              }+                                            "trans'")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8+                            , srcInfoPoints = []+                            }+                          "proof"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 69+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 69+                            , srcInfoPoints = []+                            }+                          (Con+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+                                     , srcInfoPoints = []+                                     }+                                   "Sub")))+                          (Paren+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 69+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 16+                                   , SrcSpan "tests/examples/DerivingVia.hs" 97 68 97 69+                                   ]+                               }+                             (InfixApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 68+                                  , srcInfoPoints = []+                                  }+                                (InfixApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 48+                                     , srcInfoPoints = []+                                     }+                                   (Con+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 16 97 20+                                              , srcInfoPoints = []+                                              }+                                            "Dict")))+                                   (QVarOp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23+                                           , srcInfoPoints = []+                                           }+                                         (Symbol+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 21 97 23+                                              , srcInfoPoints = []+                                              }+                                            "\\\\")))+                                   (App+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 48+                                        , srcInfoPoints = []+                                        }+                                      (App+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 36+                                           , srcInfoPoints = []+                                           }+                                         (Var+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 24 97 29+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 97 24 97 29+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          97+                                                          24+                                                          97+                                                          29+                                                    , srcInfoPoints = []+                                                    }+                                                  "proof")))+                                         (TypeApp+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 30 97 36+                                              , srcInfoPoints =+                                                  [ SrcSpan+                                                      "tests/examples/DerivingVia.hs" 97 30 97 31+                                                  ]+                                              }+                                            (TyVar+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 97 31 97 36+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          97+                                                          31+                                                          97+                                                          36+                                                    , srcInfoPoints = []+                                                    }+                                                  "trans"))))+                                      (TypeApp+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 48+                                           , srcInfoPoints =+                                               [ SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 38+                                               ]+                                           }+                                         (TyParen+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 38 97 48+                                              , srcInfoPoints =+                                                  [ SrcSpan+                                                      "tests/examples/DerivingVia.hs" 97 38 97 39+                                                  , SrcSpan+                                                      "tests/examples/DerivingVia.hs" 97 47 97 48+                                                  ]+                                              }+                                            (TyApp+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 97 39 97 47+                                                 , srcInfoPoints = []+                                                 }+                                               (TyVar+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          97+                                                          39+                                                          97+                                                          45+                                                    , srcInfoPoints = []+                                                    }+                                                  (Ident+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             97+                                                             39+                                                             97+                                                             45+                                                       , srcInfoPoints = []+                                                       }+                                                     "trans'"))+                                               (TyVar+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          97+                                                          46+                                                          97+                                                          47+                                                    , srcInfoPoints = []+                                                    }+                                                  (Ident+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             97+                                                             46+                                                             97+                                                             47+                                                       , srcInfoPoints = []+                                                       }+                                                     "m")))))))+                                (QVarOp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+                                           , srcInfoPoints = []+                                           }+                                         "\\\\")))+                                (App+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 68+                                     , srcInfoPoints = []+                                     }+                                   (App+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 65+                                        , srcInfoPoints = []+                                        }+                                      (Var+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 57+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 52 97 57+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 97 52 97 57+                                                 , srcInfoPoints = []+                                                 }+                                               "proof")))+                                      (TypeApp+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 65+                                           , srcInfoPoints =+                                               [ SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 59+                                               ]+                                           }+                                         (TyVar+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 59 97 65+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 97 59 97 65+                                                 , srcInfoPoints = []+                                                 }+                                               "trans'"))))+                                   (TypeApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 68+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 67 ]+                                        }+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 67 97 68+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 67 97 68+                                              , srcInfoPoints = []+                                              }+                                            "m"))))))))+                    Nothing)+             ])+      , GDataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 109 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 99 15 99 17+                , SrcSpan "tests/examples/DerivingVia.hs" 99 25 99 30+                , SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 3+                , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3+                , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3+                ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 8+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14+                  , srcInfoPoints = []+                  }+                "Stack"))+          (Just+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+                        , srcInfoPoints = []+                        }+                      "MTrans"))))+          [ GadtDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 71+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 100 9 100 11 ]+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 8+                   , srcInfoPoints = []+                   }+                 "Stack")+              Nothing+              Nothing+              Nothing+              (TyFun+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 71+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 100 59 100 61 ]+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 58+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 56+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 23+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+                                     , srcInfoPoints = []+                                     }+                                   "ReaderT")))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+                                     , srcInfoPoints = []+                                     }+                                   "Int"))))+                       (TyParen+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 56+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 25+                                , SrcSpan "tests/examples/DerivingVia.hs" 100 55 100 56+                                ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 55+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 36+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+                                           , srcInfoPoints = []+                                           }+                                         "StateT")))+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+                                           , srcInfoPoints = []+                                           }+                                         "Bool"))))+                             (TyParen+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 55+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 38+                                      , SrcSpan "tests/examples/DerivingVia.hs" 100 54 100 55+                                      ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 54+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 52+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 45+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 100 38 100 45+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 100 38 100 45+                                                 , srcInfoPoints = []+                                                 }+                                               "WriterT")))+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 100 46 100 52+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 100 46 100 52+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 100 46 100 52+                                                 , srcInfoPoints = []+                                                 }+                                               "String"))))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54+                                           , srcInfoPoints = []+                                           }+                                         "m")))))))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58+                            , srcInfoPoints = []+                            }+                          "a")))+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 71+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 69+                         , srcInfoPoints = []+                         }+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+                                  , srcInfoPoints = []+                                  }+                                "Stack")))+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69+                               , srcInfoPoints = []+                               }+                             "m")))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71+                            , srcInfoPoints = []+                            }+                          "a"))))+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 101 3 108 6+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 102 5 102 6+                    , SrcSpan "tests/examples/DerivingVia.hs" 103 5 103 6+                    , SrcSpan "tests/examples/DerivingVia.hs" 104 5 104 6+                    , SrcSpan "tests/examples/DerivingVia.hs" 105 5 105 6+                    , SrcSpan "tests/examples/DerivingVia.hs" 106 5 106 6+                    , SrcSpan "tests/examples/DerivingVia.hs" 107 5 107 6+                    , SrcSpan "tests/examples/DerivingVia.hs" 108 5 108 6+                    ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 101 12 101 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+                             , srcInfoPoints = []+                             }+                           "Functor")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+                             , srcInfoPoints = []+                             }+                           "Applicative")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+                             , srcInfoPoints = []+                             }+                           "Monad")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHApp+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22+                       , srcInfoPoints = []+                       }+                     (IHCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+                                , srcInfoPoints = []+                                }+                              "MonadReader")))+                     (TyCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+                                , srcInfoPoints = []+                                }+                              "Int"))))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHApp+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22+                       , srcInfoPoints = []+                       }+                     (IHCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+                                , srcInfoPoints = []+                                }+                              "MonadState")))+                     (TyCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+                                , srcInfoPoints = []+                                }+                              "Bool"))))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHApp+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25+                       , srcInfoPoints = []+                       }+                     (IHCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+                                , srcInfoPoints = []+                                }+                              "MonadWriter")))+                     (TyCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+                                , srcInfoPoints = []+                                }+                              "String"))))+              ]+          , Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 34+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 109 12 109 13+                    , SrcSpan "tests/examples/DerivingVia.hs" 109 23 109 24+                    , SrcSpan "tests/examples/DerivingVia.hs" 109 33 109 34+                    ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 110 8 110 11+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 74+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 13+                             , SrcSpan "tests/examples/DerivingVia.hs" 110 73 110 74+                             ]+                         }+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 73+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 24+                               , srcInfoPoints = []+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+                                        , srcInfoPoints = []+                                        }+                                      "ReaderT")))+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+                                        , srcInfoPoints = []+                                        }+                                      "Int"))))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26+                                   , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+                                   , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26+                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35+                                      ]+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+                                     , srcInfoPoints = []+                                     }+                                   "ComposeT")))+                          (TyInfix+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 73+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 47+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+                                           , srcInfoPoints = []+                                           }+                                         "StateT")))+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+                                           , srcInfoPoints = []+                                           }+                                         "Bool"))))+                             (UnpromotedName+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49+                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58+                                      ]+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49+                                         , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+                                         , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58+                                         ]+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+                                        , srcInfoPoints = []+                                        }+                                      "ComposeT")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 73+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+                                           , srcInfoPoints = []+                                           }+                                         "WriterT")))+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+                                           , srcInfoPoints = []+                                           }+                                         "String")))))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+                             , srcInfoPoints = []+                             }+                           "MonadTrans")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+                             , srcInfoPoints = []+                             }+                           "MFunctor")))+              ]+          ]+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 112 1 113 57+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 112 1 112 6+                , SrcSpan "tests/examples/DerivingVia.hs" 112 34 112 39+                , SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 3+                , SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 33+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15+                     , srcInfoPoints = []+                     }+                   "MFunctor"))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 33+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 17+                      , SrcSpan "tests/examples/DerivingVia.hs" 112 23 112 25+                      , SrcSpan "tests/examples/DerivingVia.hs" 112 32 112 33+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 112 17 112 22+                     , srcInfoPoints = []+                     }+                   "trans")+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+                           , srcInfoPoints = []+                           }+                         "MTrans")))))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 8+                          , srcInfoPoints = []+                          }+                        "hoist"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 57+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 17+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 113 12 113 17+                                              , srcInfoPoints = []+                                              }+                                            "Monad")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 57+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 113 33 113 35 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 32+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 113 31 113 32+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25+                                        , srcInfoPoints = []+                                        }+                                      "m"))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31+                                        , srcInfoPoints = []+                                        }+                                      "m'"))))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 57+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 37+                                   , SrcSpan "tests/examples/DerivingVia.hs" 113 56 113 57+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 56+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 44+                                     , srcInfoPoints = []+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42+                                           , srcInfoPoints = []+                                           }+                                         "trans"))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44+                                           , srcInfoPoints = []+                                           }+                                         "m")))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 56+                                     , srcInfoPoints = []+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53+                                           , srcInfoPoints = []+                                           }+                                         "trans"))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56+                                           , srcInfoPoints = []+                                           }+                                         "m'"))))))))+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 115 1 119 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 9+                , SrcSpan "tests/examples/DerivingVia.hs" 115 41 115 46+                , SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 3+                , SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 3+                , SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+                           , srcInfoPoints = []+                           }+                         "MFunctor")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 40+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 20+                         , SrcSpan "tests/examples/DerivingVia.hs" 115 30 115 32+                         , SrcSpan "tests/examples/DerivingVia.hs" 115 39 115 40+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 29+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+                                 , srcInfoPoints = []+                                 }+                               "ReaderT")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29+                              , srcInfoPoints = []+                              }+                            "r")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 8+                          , srcInfoPoints = []+                          }+                        "hoist"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 65+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 17+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 116 12 116 17+                                              , srcInfoPoints = []+                                              }+                                            "Monad")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 65+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 116 33 116 35 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 32+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 116 31 116 32+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25+                                        , srcInfoPoints = []+                                        }+                                      "m"))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31+                                        , srcInfoPoints = []+                                        }+                                      "m'"))))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 65+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 37+                                   , SrcSpan "tests/examples/DerivingVia.hs" 116 64 116 65+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 64+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 48+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 46+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 44+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 116 37 116 44+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 116 37 116 44+                                                 , srcInfoPoints = []+                                                 }+                                               "ReaderT")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 45 116 46+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 116 45 116 46+                                              , srcInfoPoints = []+                                              }+                                            "r")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48+                                           , srcInfoPoints = []+                                           }+                                         "m")))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 64+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 61+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 59+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 116 52 116 59+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 116 52 116 59+                                                 , srcInfoPoints = []+                                                 }+                                               "ReaderT")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 60 116 61+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 116 60 116 61+                                              , srcInfoPoints = []+                                              }+                                            "r")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64+                                           , srcInfoPoints = []+                                           }+                                         "m'"))))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 8+                             , srcInfoPoints = []+                             }+                           "hoist")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12+                                 , srcInfoPoints = []+                                 }+                               "nat")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 46+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 14 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 46+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+                                         , srcInfoPoints = []+                                         }+                                       "ReaderT")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+                                         , srcInfoPoints = []+                                         }+                                       ".")))+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 46+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 33+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 29+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 117 25 117 29+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 117 25 117 29+                                               , srcInfoPoints = []+                                               }+                                             "fmap")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 117 30 117 33+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 117 30 117 33+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 117 30 117 33+                                               , srcInfoPoints = []+                                               }+                                             "nat"))))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 117 34 117 35+                                            , srcInfoPoints = []+                                            }+                                          ".")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 117 36 117 46+                                            , srcInfoPoints = []+                                            }+                                          "runReaderT"))))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 119 1 123 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 9+                , SrcSpan "tests/examples/DerivingVia.hs" 119 40 119 45+                , SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 3+                , SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 3+                , SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+                           , srcInfoPoints = []+                           }+                         "MFunctor")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 39+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 20+                         , SrcSpan "tests/examples/DerivingVia.hs" 119 29 119 31+                         , SrcSpan "tests/examples/DerivingVia.hs" 119 38 119 39+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 28+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+                                 , srcInfoPoints = []+                                 }+                               "StateT")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28+                              , srcInfoPoints = []+                              }+                            "s")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 8+                          , srcInfoPoints = []+                          }+                        "hoist"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 63+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 17+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 120 12 120 17+                                              , srcInfoPoints = []+                                              }+                                            "Monad")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 63+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 120 33 120 35 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 32+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 120 31 120 32+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25+                                        , srcInfoPoints = []+                                        }+                                      "m"))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31+                                        , srcInfoPoints = []+                                        }+                                      "m'"))))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 63+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 37+                                   , SrcSpan "tests/examples/DerivingVia.hs" 120 62 120 63+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 62+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 47+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 45+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 43+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 120 37 120 43+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 120 37 120 43+                                                 , srcInfoPoints = []+                                                 }+                                               "StateT")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 44 120 45+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 120 44 120 45+                                              , srcInfoPoints = []+                                              }+                                            "s")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47+                                           , srcInfoPoints = []+                                           }+                                         "m")))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 62+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 59+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 57+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 120 51 120 57+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 120 51 120 57+                                                 , srcInfoPoints = []+                                                 }+                                               "StateT")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 58 120 59+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 120 58 120 59+                                              , srcInfoPoints = []+                                              }+                                            "s")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62+                                           , srcInfoPoints = []+                                           }+                                         "m'"))))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 8+                             , srcInfoPoints = []+                             }+                           "hoist")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12+                                 , srcInfoPoints = []+                                 }+                               "nat")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 44+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 14 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 44+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+                                         , srcInfoPoints = []+                                         }+                                       "StateT")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+                                         , srcInfoPoints = []+                                         }+                                       ".")))+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 44+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 32+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 28+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 121 24 121 28+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 121 24 121 28+                                               , srcInfoPoints = []+                                               }+                                             "fmap")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 121 29 121 32+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 121 29 121 32+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 121 29 121 32+                                               , srcInfoPoints = []+                                               }+                                             "nat"))))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 121 33 121 34+                                            , srcInfoPoints = []+                                            }+                                          ".")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 121 35 121 44+                                            , srcInfoPoints = []+                                            }+                                          "runStateT"))))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 123 1 127 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 9+                , SrcSpan "tests/examples/DerivingVia.hs" 123 41 123 46+                , SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 3+                , SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 3+                , SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+                           , srcInfoPoints = []+                           }+                         "MFunctor")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 40+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 20+                         , SrcSpan "tests/examples/DerivingVia.hs" 123 30 123 32+                         , SrcSpan "tests/examples/DerivingVia.hs" 123 39 123 40+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 29+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+                                 , srcInfoPoints = []+                                 }+                               "WriterT")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29+                              , srcInfoPoints = []+                              }+                            "w")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 8+                          , srcInfoPoints = []+                          }+                        "hoist"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 65+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 17+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 124 12 124 17+                                              , srcInfoPoints = []+                                              }+                                            "Monad")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 65+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 124 33 124 35 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 32+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 124 31 124 32+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25+                                        , srcInfoPoints = []+                                        }+                                      "m"))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31+                                        , srcInfoPoints = []+                                        }+                                      "m'"))))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 65+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 37+                                   , SrcSpan "tests/examples/DerivingVia.hs" 124 64 124 65+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 64+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 48+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 46+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 44+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 124 37 124 44+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 124 37 124 44+                                                 , srcInfoPoints = []+                                                 }+                                               "WriterT")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 45 124 46+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 124 45 124 46+                                              , srcInfoPoints = []+                                              }+                                            "w")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48+                                           , srcInfoPoints = []+                                           }+                                         "m")))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 64+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 61+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 59+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 124 52 124 59+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 124 52 124 59+                                                 , srcInfoPoints = []+                                                 }+                                               "WriterT")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 60 124 61+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 124 60 124 61+                                              , srcInfoPoints = []+                                              }+                                            "w")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64+                                           , srcInfoPoints = []+                                           }+                                         "m'"))))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 8+                             , srcInfoPoints = []+                             }+                           "hoist")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12+                                 , srcInfoPoints = []+                                 }+                               "nat")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 41+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 14 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 41+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+                                         , srcInfoPoints = []+                                         }+                                       "WriterT")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+                                         , srcInfoPoints = []+                                         }+                                       ".")))+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 41+                                   , srcInfoPoints = []+                                   }+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 125 25 125 28+                                            , srcInfoPoints = []+                                            }+                                          "nat")))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 125 29 125 30+                                            , srcInfoPoints = []+                                            }+                                          ".")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 125 31 125 41+                                            , srcInfoPoints = []+                                            }+                                          "runWriterT"))))))+                        Nothing+                    ])+             ])+      , InfixDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 20+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 127 8 127 9 ]+            }+          (AssocRight+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 7+               , srcInfoPoints = []+               })+          (Just 9)+          [ ConOp+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19+                    , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20+                    ]+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11+                       , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19+                       , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20+                       ]+                   }+                 "ComposeT")+          ]+      , GDataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 128 1 130 49+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 128 18 128 20+                , SrcSpan "tests/examples/DerivingVia.hs" 128 48 128 53+                , SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 3+                , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3+                , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3+                ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 128 1 128 8+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17+                  , srcInfoPoints = []+                  }+                "ComposeT"))+          (Just+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 47+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 128 28 128 30 ]+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+                           , srcInfoPoints = []+                           }+                         "MTrans")))+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 47+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 128 38 128 40 ]+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+                              , srcInfoPoints = []+                              }+                            "MTrans")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          [ GadtDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 63+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 129 12 129 14+                    , SrcSpan "tests/examples/DerivingVia.hs" 129 15 129 16+                    , SrcSpan "tests/examples/DerivingVia.hs" 129 42 129 43+                    , SrcSpan "tests/examples/DerivingVia.hs" 129 44 129 46+                    ]+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 11+                   , srcInfoPoints = []+                   }+                 "ComposeT")+              Nothing+              Nothing+              (Just+                 [ FieldDecl+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 41+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 129 29 129 31 ]+                       }+                     [ Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 28+                           , srcInfoPoints = []+                           }+                         "getComposeT"+                     ]+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 41+                          , srcInfoPoints = []+                          }+                        (TyApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 39+                             , srcInfoPoints = []+                             }+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33+                                   , srcInfoPoints = []+                                   }+                                 "f"))+                           (TyParen+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 39+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 35+                                    , SrcSpan "tests/examples/DerivingVia.hs" 129 38 129 39+                                    ]+                                }+                              (TyApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 38+                                   , srcInfoPoints = []+                                   }+                                 (TyVar+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36+                                         , srcInfoPoints = []+                                         }+                                       "g"))+                                 (TyVar+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38+                                         , srcInfoPoints = []+                                         }+                                       "m")))))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 63+                   , srcInfoPoints = []+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 61+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 59+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 57+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+                                     , srcInfoPoints = []+                                     }+                                   "ComposeT")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57+                                  , srcInfoPoints = []+                                  }+                                "f")))+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59+                               , srcInfoPoints = []+                               }+                             "g")))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61+                            , srcInfoPoints = []+                            }+                          "m")))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63+                         , srcInfoPoints = []+                         }+                       "a")))+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 49+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 130 20 130 21+                    , SrcSpan "tests/examples/DerivingVia.hs" 130 28 130 29+                    , SrcSpan "tests/examples/DerivingVia.hs" 130 41 130 42+                    , SrcSpan "tests/examples/DerivingVia.hs" 130 48 130 49+                    ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 130 12 130 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+                             , srcInfoPoints = []+                             }+                           "Functor")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+                             , srcInfoPoints = []+                             }+                           "Applicative")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+                             , srcInfoPoints = []+                             }+                           "Monad")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 132 1 137 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 132 1 132 9+                , SrcSpan "tests/examples/DerivingVia.hs" 132 84 132 89+                , SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 3+                , SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 3+                , SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 83+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 57+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 132 23 132 24+                         , SrcSpan "tests/examples/DerivingVia.hs" 132 37 132 38+                         , SrcSpan "tests/examples/DerivingVia.hs" 132 53 132 54+                         , SrcSpan "tests/examples/DerivingVia.hs" 132 55 132 57+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21+                                     , srcInfoPoints = []+                                     }+                                   "MonadTrans")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35+                                     , srcInfoPoints = []+                                     }+                                   "MonadTrans")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37+                                  , srcInfoPoints = []+                                  }+                                "g")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51+                                     , srcInfoPoints = []+                                     }+                                   "LiftingMonad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53+                                  , srcInfoPoints = []+                                  }+                                "g")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 83+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+                           , srcInfoPoints = []+                           }+                         "MonadTrans")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 83+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 70+                         , SrcSpan "tests/examples/DerivingVia.hs" 132 82 132 83+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 82+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 80+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+                                    , srcInfoPoints = []+                                    }+                                  "ComposeT")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82+                              , srcInfoPoints = []+                              }+                            "g"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 7+                          , srcInfoPoints = []+                          }+                        "lift"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 51+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 17+                             , SrcSpan "tests/examples/DerivingVia.hs" 133 19 133 20+                             ]+                         }+                       (Just+                          [ UnkindedVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19+                                   , srcInfoPoints = []+                                   }+                                 "m")+                          ])+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 26+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 133 21 133 26+                                              , srcInfoPoints = []+                                              }+                                            "Monad")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 51+                            , srcInfoPoints = []+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33+                                  , srcInfoPoints = []+                                  }+                                "m"))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+                                     , srcInfoPoints = []+                                     }+                                   "~>")))+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 51+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 49+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 47+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 133 37 133 45+                                              , srcInfoPoints = []+                                              }+                                            "ComposeT")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47+                                           , srcInfoPoints = []+                                           }+                                         "f")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49+                                        , srcInfoPoints = []+                                        }+                                      "g")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51+                                     , srcInfoPoints = []+                                     }+                                   "m"))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7+                            , srcInfoPoints = []+                            }+                          "lift"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 134 8 135 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 134 8 134 9 ]+                         }+                       (InfixApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 134 10 135 19+                            , srcInfoPoints = []+                            }+                          (InfixApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 32+                               , srcInfoPoints = []+                               }+                             (Con+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+                                        , srcInfoPoints = []+                                        }+                                      "ComposeT")))+                             (QVarOp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+                                     , srcInfoPoints = []+                                     }+                                   (Symbol+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+                                        , srcInfoPoints = []+                                        }+                                      ".")))+                             (InfixApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 32+                                  , srcInfoPoints = []+                                  }+                                (Var+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+                                           , srcInfoPoints = []+                                           }+                                         "lift")))+                                (QVarOp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+                                           , srcInfoPoints = []+                                           }+                                         ".")))+                                (Var+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+                                           , srcInfoPoints = []+                                           }+                                         "lift")))))+                          (QVarOp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+                                     , srcInfoPoints = []+                                     }+                                   "\\\\")))+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 19+                               , srcInfoPoints = []+                               }+                             (App+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 16+                                  , srcInfoPoints = []+                                  }+                                (Var+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+                                           , srcInfoPoints = []+                                           }+                                         "proof")))+                                (TypeApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 16+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 15 ]+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16+                                           , srcInfoPoints = []+                                           }+                                         "g"))))+                             (TypeApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 19+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 18 ]+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19+                                        , srcInfoPoints = []+                                        }+                                      "m"))))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 137 1 146 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 9+                , SrcSpan "tests/examples/DerivingVia.hs" 137 78 137 83+                , SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 3+                , SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 3+                , SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 77+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 53+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 137 21 137 22+                         , SrcSpan "tests/examples/DerivingVia.hs" 137 33 137 34+                         , SrcSpan "tests/examples/DerivingVia.hs" 137 49 137 50+                         , SrcSpan "tests/examples/DerivingVia.hs" 137 51 137 53+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19+                                     , srcInfoPoints = []+                                     }+                                   "MFunctor")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31+                                     , srcInfoPoints = []+                                     }+                                   "MFunctor")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33+                                  , srcInfoPoints = []+                                  }+                                "g")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47+                                     , srcInfoPoints = []+                                     }+                                   "LiftingMonad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49+                                  , srcInfoPoints = []+                                  }+                                "g")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 77+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+                           , srcInfoPoints = []+                           }+                         "MFunctor")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 77+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 64+                         , SrcSpan "tests/examples/DerivingVia.hs" 137 76 137 77+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 76+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 74+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+                                    , srcInfoPoints = []+                                    }+                                  "ComposeT")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76+                              , srcInfoPoints = []+                              }+                            "g"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 8+                          , srcInfoPoints = []+                          }+                        "hoist"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 84+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 18+                             , SrcSpan "tests/examples/DerivingVia.hs" 138 23 138 24+                             ]+                         }+                       (Just+                          [ UnkindedVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20+                                   , srcInfoPoints = []+                                   }+                                 "m")+                          , UnkindedVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23+                                   , srcInfoPoints = []+                                   }+                                 "m'")+                          ])+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 30+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 25 138 30+                                              , srcInfoPoints = []+                                              }+                                            "Monad")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 84+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 138 46 138 48 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 45+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 37+                                   , SrcSpan "tests/examples/DerivingVia.hs" 138 44 138 45+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 44+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38+                                        , srcInfoPoints = []+                                        }+                                      "m"))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44+                                        , srcInfoPoints = []+                                        }+                                      "m'"))))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 84+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 50+                                   , SrcSpan "tests/examples/DerivingVia.hs" 138 83 138 84+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 83+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 64+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 62+                                        , srcInfoPoints = []+                                        }+                                      (TyApp+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 60+                                           , srcInfoPoints = []+                                           }+                                         (TyCon+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 50 138 58+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 138 50 138 58+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          138+                                                          50+                                                          138+                                                          58+                                                    , srcInfoPoints = []+                                                    }+                                                  "ComposeT")))+                                         (TyVar+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 59 138 60+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 138 59 138 60+                                                 , srcInfoPoints = []+                                                 }+                                               "f")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 61 138 62+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 61 138 62+                                              , srcInfoPoints = []+                                              }+                                            "g")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64+                                           , srcInfoPoints = []+                                           }+                                         "m")))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 83+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 80+                                        , srcInfoPoints = []+                                        }+                                      (TyApp+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 78+                                           , srcInfoPoints = []+                                           }+                                         (TyCon+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 68 138 76+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 138 68 138 76+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          138+                                                          68+                                                          138+                                                          76+                                                    , srcInfoPoints = []+                                                    }+                                                  "ComposeT")))+                                         (TyVar+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 77 138 78+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 138 77 138 78+                                                 , srcInfoPoints = []+                                                 }+                                               "f")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 79 138 80+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 79 138 80+                                              , srcInfoPoints = []+                                              }+                                            "g")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83+                                           , srcInfoPoints = []+                                           }+                                         "m'"))))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 8+                             , srcInfoPoints = []+                             }+                           "hoist")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10+                                 , srcInfoPoints = []+                                 }+                               "f")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 139 11 140 19+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 139 11 139 12 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 139 13 140 19+                                , srcInfoPoints = []+                                }+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 53+                                   , srcInfoPoints = []+                                   }+                                 (Con+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 139 13 139 21+                                            , srcInfoPoints = []+                                            }+                                          "ComposeT")))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 139 22 139 23+                                            , srcInfoPoints = []+                                            }+                                          ".")))+                                 (InfixApp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 53+                                      , srcInfoPoints = []+                                      }+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 39+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 139 24 139 29+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 139 24 139 29+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        139+                                                        24+                                                        139+                                                        29+                                                  , srcInfoPoints = []+                                                  }+                                                "hoist")))+                                       (Paren+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 139 30 139 39+                                            , srcInfoPoints =+                                                [ SrcSpan+                                                    "tests/examples/DerivingVia.hs" 139 30 139 31+                                                , SrcSpan+                                                    "tests/examples/DerivingVia.hs" 139 38 139 39+                                                ]+                                            }+                                          (App+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 139 31 139 38+                                               , srcInfoPoints = []+                                               }+                                             (Var+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        139+                                                        31+                                                        139+                                                        36+                                                  , srcInfoPoints = []+                                                  }+                                                (UnQual+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           139+                                                           31+                                                           139+                                                           36+                                                     , srcInfoPoints = []+                                                     }+                                                   (Ident+                                                      SrcSpanInfo+                                                        { srcInfoSpan =+                                                            SrcSpan+                                                              "tests/examples/DerivingVia.hs"+                                                              139+                                                              31+                                                              139+                                                              36+                                                        , srcInfoPoints = []+                                                        }+                                                      "hoist")))+                                             (Var+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        139+                                                        37+                                                        139+                                                        38+                                                  , srcInfoPoints = []+                                                  }+                                                (UnQual+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           139+                                                           37+                                                           139+                                                           38+                                                     , srcInfoPoints = []+                                                     }+                                                   (Ident+                                                      SrcSpanInfo+                                                        { srcInfoSpan =+                                                            SrcSpan+                                                              "tests/examples/DerivingVia.hs"+                                                              139+                                                              37+                                                              139+                                                              38+                                                        , srcInfoPoints = []+                                                        }+                                                      "f"))))))+                                    (QVarOp+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 139 40 139 41+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 139 40 139 41+                                            , srcInfoPoints = []+                                            }+                                          (Symbol+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 139 40 139 41+                                               , srcInfoPoints = []+                                               }+                                             ".")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 139 42 139 53+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 139 42 139 53+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 139 42 139 53+                                               , srcInfoPoints = []+                                               }+                                             "getComposeT")))))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+                                         , srcInfoPoints = []+                                         }+                                       "\\\\")))+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 19+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 16+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 140 8 140 13+                                               , srcInfoPoints = []+                                               }+                                             "proof")))+                                    (TypeApp+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 16+                                         , srcInfoPoints =+                                             [ SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 15+                                             ]+                                         }+                                       (TyVar+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 140 15 140 16+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 140 15 140 16+                                               , srcInfoPoints = []+                                               }+                                             "g"))))+                                 (TypeApp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 19+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 18 ]+                                      }+                                    (TyVar+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 140 18 140 19+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 140 18 140 19+                                            , srcInfoPoints = []+                                            }+                                          "m"))))))+                        Nothing+                    ])+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 146 1 150 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 146 13 146 14 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 12+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10+                     , srcInfoPoints = []+                     }+                   "X"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 16+                      , srcInfoPoints = []+                      }+                    "X")+                 [ TyTuple+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 23+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 18+                           , SrcSpan "tests/examples/DerivingVia.hs" 146 19 146 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 146 22 146 23+                           ]+                       }+                     Boxed+                     [ TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19+                              , srcInfoPoints = []+                              }+                            "a")+                     , TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22+                              , srcInfoPoints = []+                              }+                            "a")+                     ]+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 31+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 147 12 147 13+                    , SrcSpan "tests/examples/DerivingVia.hs" 147 22 147 23+                    , SrcSpan "tests/examples/DerivingVia.hs" 147 30 147 31+                    ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 148 8 148 11+                      , srcInfoPoints = []+                      }+                    (TyTuple+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 30+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 13+                             , SrcSpan "tests/examples/DerivingVia.hs" 148 22 148 23+                             , SrcSpan "tests/examples/DerivingVia.hs" 148 29 148 30+                             ]+                         }+                       Boxed+                       [ TyApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 22+                             , srcInfoPoints = []+                             }+                           (TyCon+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+                                      , srcInfoPoints = []+                                      }+                                    "Product")))+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22+                                   , srcInfoPoints = []+                                   }+                                 "a"))+                       , TyApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 29+                             , srcInfoPoints = []+                             }+                           (TyCon+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+                                      , srcInfoPoints = []+                                      }+                                    "Sum")))+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29+                                   , srcInfoPoints = []+                                   }+                                 "a"))+                       ])))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+                             , srcInfoPoints = []+                             }+                           "Semigroup")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+                             , srcInfoPoints = []+                             }+                           "Monoid")))+              ]+          , Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 22+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 150 12 150 13+                    , SrcSpan "tests/examples/DerivingVia.hs" 150 17 150 18+                    , SrcSpan "tests/examples/DerivingVia.hs" 150 21 150 22+                    ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 151 8 151 11+                      , srcInfoPoints = []+                      }+                    (TyTuple+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 13+                             , SrcSpan "tests/examples/DerivingVia.hs" 151 14 151 15+                             , SrcSpan "tests/examples/DerivingVia.hs" 151 17 151 18+                             ]+                         }+                       Boxed+                       [ TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14+                                , srcInfoPoints = []+                                }+                              "a")+                       , TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17+                                , srcInfoPoints = []+                                }+                              "a")+                       ])))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+                             , srcInfoPoints = []+                             }+                           "Show")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+                             , srcInfoPoints = []+                             }+                           "Eq")))+              ]+          ]+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 157 1 158 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 157 1 157 6+                , SrcSpan "tests/examples/DerivingVia.hs" 157 11 157 16+                , SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 3+                , SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 10+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8+                     , srcInfoPoints = []+                     }+                   "C"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10+                     , srcInfoPoints = []+                     }+                   "f")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 4+                          , srcInfoPoints = []+                          }+                        "c"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 158 12 158 14 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 11+                            , srcInfoPoints = []+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9+                                  , srcInfoPoints = []+                                  }+                                "f"))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11+                                  , srcInfoPoints = []+                                  }+                                "a")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+                                  , srcInfoPoints = []+                                  }+                                "Int")))))+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 26+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 160 16 160 17 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 15+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 13+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11+                        , srcInfoPoints = []+                        }+                      "X2"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13+                        , srcInfoPoints = []+                        }+                      "f")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 20+                      , srcInfoPoints = []+                      }+                    "X2")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 26+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 22+                           , SrcSpan "tests/examples/DerivingVia.hs" 160 25 160 26+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 25+                          , srcInfoPoints = []+                          }+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23+                                , srcInfoPoints = []+                                }+                              "f"))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          []+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 162 1 165 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 162 1 162 9+                , SrcSpan "tests/examples/DerivingVia.hs" 162 19 162 24+                , SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 3+                , SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+                           , srcInfoPoints = []+                           }+                         "C")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 18+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 13+                         , SrcSpan "tests/examples/DerivingVia.hs" 162 17 162 18+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 17+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+                                 , srcInfoPoints = []+                                 }+                               "X2")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17+                              , srcInfoPoints = []+                              }+                            "f"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4+                            , srcInfoPoints = []+                            }+                          "c"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 14+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 6 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 14+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+                                     , srcInfoPoints = []+                                     }+                                   "const")))+                          (Lit+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14+                               , srcInfoPoints = []+                               }+                             (Int+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14+                                  , srcInfoPoints = []+                                  }+                                0+                                "0"))))+                    Nothing)+             ])+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 35+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 9+                , SrcSpan "tests/examples/DerivingVia.hs" 165 22 165 30+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 165 10 165 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 21+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 165 20 165 21+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 20+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+                                 , srcInfoPoints = []+                                 }+                               "X2")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+                                 , srcInfoPoints = []+                                 }+                               "IO")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+                           , srcInfoPoints = []+                           }+                         "C")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+                           , srcInfoPoints = []+                           }+                         "IO")))))+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 171 14 171 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11+                     , srcInfoPoints = []+                     }+                   "P0"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 18+                      , srcInfoPoints = []+                      }+                    "P0")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 171 47 171 50+                      , srcInfoPoints = []+                      }+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52+                            , srcInfoPoints = []+                            }+                          "a"))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 172 14 172 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11+                     , srcInfoPoints = []+                     }+                   "P1"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 18+                      , srcInfoPoints = []+                      }+                    "P1")+                 [ TyList+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 22+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 172 21 172 22+                           ]+                       }+                     (TyVar+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21+                             , srcInfoPoints = []+                             }+                           "a"))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 172 47 172 50+                      , srcInfoPoints = []+                      }+                    (TyList+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 54+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 172 53 172 54+                             ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53+                               , srcInfoPoints = []+                               }+                             "a")))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 173 14 173 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11+                     , srcInfoPoints = []+                     }+                   "P2"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 18+                      , srcInfoPoints = []+                      }+                    "P2")+                 [ TyTuple+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 25+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 173 21 173 22+                           , SrcSpan "tests/examples/DerivingVia.hs" 173 24 173 25+                           ]+                       }+                     Boxed+                     [ TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21+                              , srcInfoPoints = []+                              }+                            "a")+                     , TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24+                              , srcInfoPoints = []+                              }+                            "a")+                     ]+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 173 47 173 50+                      , srcInfoPoints = []+                      }+                    (TyTuple+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 57+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 173 53 173 54+                             , SrcSpan "tests/examples/DerivingVia.hs" 173 56 173 57+                             ]+                         }+                       Boxed+                       [ TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53+                                , srcInfoPoints = []+                                }+                              "a")+                       , TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56+                                , srcInfoPoints = []+                                }+                              "a")+                       ])))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 174 14 174 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11+                     , srcInfoPoints = []+                     }+                   "P3"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 18+                      , srcInfoPoints = []+                      }+                    "P3")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 28+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 174 27 174 28+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 27+                          , srcInfoPoints = []+                          }+                        (TyCon+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+                                   , srcInfoPoints = []+                                   }+                                 "Maybe")))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 174 47 174 50+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 60+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 174 59 174 60+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 59+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+                                     , srcInfoPoints = []+                                     }+                                   "First")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59+                                  , srcInfoPoints = []+                                  }+                                "a"))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 175 14 175 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11+                     , srcInfoPoints = []+                     }+                   "P4"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 18+                      , srcInfoPoints = []+                      }+                    "P4")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 28+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 175 27 175 28+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 27+                          , srcInfoPoints = []+                          }+                        (TyCon+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+                                   , srcInfoPoints = []+                                   }+                                 "Maybe")))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 175 47 175 50+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 62+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 175 61 175 62+                             ]+                         }+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 61+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+                                     , srcInfoPoints = []+                                     }+                                   "First")))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+                                     , srcInfoPoints = []+                                     }+                                   "$")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61+                                  , srcInfoPoints = []+                                  }+                                "a"))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 176 14 176 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11+                     , srcInfoPoints = []+                     }+                   "P5"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 18+                      , srcInfoPoints = []+                      }+                    "P5")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 176 47 176 50+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 65+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 176 64 176 65+                             ]+                         }+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 64+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+                                     , srcInfoPoints = []+                                     }+                                   "Identity")))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+                                     , srcInfoPoints = []+                                     }+                                   "$")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64+                                  , srcInfoPoints = []+                                  }+                                "a"))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 177 14 177 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11+                     , srcInfoPoints = []+                     }+                   "P6"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 18+                      , srcInfoPoints = []+                      }+                    "P6")+                 [ TyList+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 22+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 177 21 177 22+                           ]+                       }+                     (TyVar+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21+                             , srcInfoPoints = []+                             }+                           "a"))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 177 47 177 50+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 59+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 177 58 177 59+                             ]+                         }+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 58+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+                                   , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+                                   ]+                               }+                             (Special+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+                                      , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+                                      ]+                                  }+                                (ListCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+                                         , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+                                         ]+                                     })))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+                                     , srcInfoPoints = []+                                     }+                                   "$")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58+                                  , srcInfoPoints = []+                                  }+                                "a"))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 178 14 178 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11+                     , srcInfoPoints = []+                     }+                   "P7"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 18+                      , srcInfoPoints = []+                      }+                    "P7")+                 [ TyTuple+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 25+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 178 21 178 22+                           , SrcSpan "tests/examples/DerivingVia.hs" 178 24 178 25+                           ]+                       }+                     Boxed+                     [ TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21+                              , srcInfoPoints = []+                              }+                            "a")+                     , TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24+                              , srcInfoPoints = []+                              }+                            "a")+                     ]+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 178 47 178 50+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 70+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 178 69 178 70+                             ]+                         }+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 69+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+                                     , srcInfoPoints = []+                                     }+                                   "Identity")))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+                                     , srcInfoPoints = []+                                     }+                                   "$")))+                          (TyTuple+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 69+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 64+                                   , SrcSpan "tests/examples/DerivingVia.hs" 178 65 178 66+                                   , SrcSpan "tests/examples/DerivingVia.hs" 178 68 178 69+                                   ]+                               }+                             Boxed+                             [ TyVar+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65+                                      , srcInfoPoints = []+                                      }+                                    "a")+                             , TyVar+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68+                                      , srcInfoPoints = []+                                      }+                                    "a")+                             ])))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 49+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 179 14 179 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11+                     , srcInfoPoints = []+                     }+                   "P8"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 18+                      , srcInfoPoints = []+                      }+                    "P8")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 32+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 179 31 179 32+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 31+                          , srcInfoPoints = []+                          }+                        (TyApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 29+                             , srcInfoPoints = []+                             }+                           (TyCon+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+                                      , srcInfoPoints = []+                                      }+                                    "Either")))+                           (TyCon+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+                                    , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+                                    ]+                                }+                              (Special+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+                                       , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+                                       ]+                                   }+                                 (UnitCon+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+                                          , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+                                          ]+                                      }))))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 49+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 179 50 179 53+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 71+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 55+                             , SrcSpan "tests/examples/DerivingVia.hs" 179 70 179 71+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 70+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56+                                   , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+                                   , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56+                                      , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+                                      , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+                                     , srcInfoPoints = []+                                     }+                                   "$")))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 70+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 60+                                   , SrcSpan "tests/examples/DerivingVia.hs" 179 69 179 70+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 69+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+                                           , srcInfoPoints = []+                                           }+                                         "Either")))+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68+                                         , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69+                                         ]+                                     }+                                   (Special+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68+                                            , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69+                                            ]+                                        }+                                      (UnitCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+                                           , srcInfoPoints =+                                               [ SrcSpan+                                                   "tests/examples/DerivingVia.hs" 179 67 179 68+                                               , SrcSpan+                                                   "tests/examples/DerivingVia.hs" 179 68 179 69+                                               ]+                                           })))))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+                             , srcInfoPoints = []+                             }+                           "Functor")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 73+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 181 15 181 16 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14+               , srcInfoPoints = []+               }+             (DHInfix+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14+                  , srcInfoPoints = []+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10+                        , srcInfoPoints = []+                        }+                      "f"))+                (Symbol+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 181 11 181 12+                     , srcInfoPoints = []+                     }+                   "$"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 20+                      , srcInfoPoints = []+                      }+                    "APP")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 26+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 22+                           , SrcSpan "tests/examples/DerivingVia.hs" 181 25 181 26+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 25+                          , srcInfoPoints = []+                          }+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23+                                , srcInfoPoints = []+                                }+                              "f"))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 48+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 35 ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 181 36 181 43+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          , Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 73+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 57 ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 181 58 181 65+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+                             , srcInfoPoints = []+                             }+                           "Functor")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 190 1 191 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 190 29 190 30 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 190 1 190 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 28+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 26+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24+                        , srcInfoPoints = []+                        }+                      "WrapApplicative"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26+                        , srcInfoPoints = []+                        }+                      "f")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 49+                      , srcInfoPoints = []+                      }+                    "WrappedApplicative")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 55+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 51+                           , SrcSpan "tests/examples/DerivingVia.hs" 190 54 190 55+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 54+                          , srcInfoPoints = []+                          }+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52+                                , srcInfoPoints = []+                                }+                              "f"))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 34+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 191 12 191 13+                    , SrcSpan "tests/examples/DerivingVia.hs" 191 20 191 21+                    , SrcSpan "tests/examples/DerivingVia.hs" 191 33 191 34+                    ]+                }+              Nothing+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+                             , srcInfoPoints = []+                             }+                           "Functor")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+                             , srcInfoPoints = []+                             }+                           "Applicative")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 193 1 201 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 193 1 193 9+                , SrcSpan "tests/examples/DerivingVia.hs" 193 62 193 67+                , SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 3+                , SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 3+                , SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 3+                , SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 3+                , SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 3+                , SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 3+                , SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 61+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 35+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 193 24 193 25+                         , SrcSpan "tests/examples/DerivingVia.hs" 193 31 193 32+                         , SrcSpan "tests/examples/DerivingVia.hs" 193 33 193 35+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 61+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+                           , srcInfoPoints = []+                           }+                         "Num")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 61+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 41+                         , SrcSpan "tests/examples/DerivingVia.hs" 193 60 193 61+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 60+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 58+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+                                    , srcInfoPoints = []+                                    }+                                  "WrapApplicative")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 6+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5+                             , SrcSpan "tests/examples/DerivingVia.hs" 194 5 194 6+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5+                            , srcInfoPoints = []+                            }+                          "+"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 16 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 27+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+                                     , srcInfoPoints = []+                                     }+                                   "liftA2")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25+                                   , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+                                   , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25+                                      , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+                                      , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+                                     , srcInfoPoints = []+                                     }+                                   "+")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 6+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5+                             , SrcSpan "tests/examples/DerivingVia.hs" 195 5 195 6+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5+                            , srcInfoPoints = []+                            }+                          "*"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 16 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 27+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+                                     , srcInfoPoints = []+                                     }+                                   "liftA2")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25+                                   , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+                                   , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25+                                      , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+                                      , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+                                     , srcInfoPoints = []+                                     }+                                   "*")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9+                            , srcInfoPoints = []+                            }+                          "negate"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 28+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 16 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 28+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+                                     , srcInfoPoints = []+                                     }+                                   "negate")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14+                            , srcInfoPoints = []+                            }+                          "fromInteger"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 35+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 16 ]+                         }+                       (InfixApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 35+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+                                     , srcInfoPoints = []+                                     }+                                   "pure")))+                          (QVarOp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+                                     , srcInfoPoints = []+                                     }+                                   ".")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+                                     , srcInfoPoints = []+                                     }+                                   "fromInteger")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6+                            , srcInfoPoints = []+                            }+                          "abs"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 25+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 16 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 25+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+                                     , srcInfoPoints = []+                                     }+                                   "abs")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9+                            , srcInfoPoints = []+                            }+                          "signum"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 28+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 16 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 28+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+                                     , srcInfoPoints = []+                                     }+                                   "signum")))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 201 1 205 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 9+                , SrcSpan "tests/examples/DerivingVia.hs" 201 76 201 81+                , SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 3+                , SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 3+                , SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 75+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 42+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 201 24 201 25+                         , SrcSpan "tests/examples/DerivingVia.hs" 201 38 201 39+                         , SrcSpan "tests/examples/DerivingVia.hs" 201 40 201 42+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36+                                     , srcInfoPoints = []+                                     }+                                   "Fractional")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 75+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+                           , srcInfoPoints = []+                           }+                         "Fractional")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 75+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 55+                         , SrcSpan "tests/examples/DerivingVia.hs" 201 74 201 75+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 74+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 72+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+                                    , srcInfoPoints = []+                                    }+                                  "WrapApplicative")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8+                            , srcInfoPoints = []+                            }+                          "recip"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 28+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 17 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 28+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+                                     , srcInfoPoints = []+                                     }+                                   "recip")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15+                            , srcInfoPoints = []+                            }+                          "fromRational"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 37+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 17 ]+                         }+                       (InfixApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 37+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+                                     , srcInfoPoints = []+                                     }+                                   "pure")))+                          (QVarOp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+                                     , srcInfoPoints = []+                                     }+                                   ".")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+                                     , srcInfoPoints = []+                                     }+                                   "fromRational")))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 205 1 221 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 9+                , SrcSpan "tests/examples/DerivingVia.hs" 205 72 205 77+                , SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 3+                , SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 3+                , SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 3+                , SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 3+                , SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 3+                , SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 3+                , SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 3+                , SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 3+                , SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 3+                , SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 3+                , SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 3+                , SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 3+                , SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 3+                , SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 3+                , SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 71+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 40+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 205 24 205 25+                         , SrcSpan "tests/examples/DerivingVia.hs" 205 36 205 37+                         , SrcSpan "tests/examples/DerivingVia.hs" 205 38 205 40+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34+                                     , srcInfoPoints = []+                                     }+                                   "Floating")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 71+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+                           , srcInfoPoints = []+                           }+                         "Floating")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 71+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 51+                         , SrcSpan "tests/examples/DerivingVia.hs" 205 70 205 71+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 70+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 68+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+                                    , srcInfoPoints = []+                                    }+                                  "WrapApplicative")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5+                            , srcInfoPoints = []+                            }+                          "pi"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 18+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+                                     , srcInfoPoints = []+                                     }+                                   "pure")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+                                     , srcInfoPoints = []+                                     }+                                   "pi")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7+                            , srcInfoPoints = []+                            }+                          "sqrt"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 20+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+                                     , srcInfoPoints = []+                                     }+                                   "sqrt")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6+                            , srcInfoPoints = []+                            }+                          "exp"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 19+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+                                     , srcInfoPoints = []+                                     }+                                   "exp")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6+                            , srcInfoPoints = []+                            }+                          "log"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 19+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+                                     , srcInfoPoints = []+                                     }+                                   "log")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6+                            , srcInfoPoints = []+                            }+                          "sin"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 19+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+                                     , srcInfoPoints = []+                                     }+                                   "sin")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6+                            , srcInfoPoints = []+                            }+                          "cos"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 19+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+                                     , srcInfoPoints = []+                                     }+                                   "cos")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7+                            , srcInfoPoints = []+                            }+                          "asin"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 20+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+                                     , srcInfoPoints = []+                                     }+                                   "asin")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7+                            , srcInfoPoints = []+                            }+                          "atan"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 20+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+                                     , srcInfoPoints = []+                                     }+                                   "atan")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7+                            , srcInfoPoints = []+                            }+                          "acos"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 20+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+                                     , srcInfoPoints = []+                                     }+                                   "acos")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7+                            , srcInfoPoints = []+                            }+                          "sinh"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 20+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+                                     , srcInfoPoints = []+                                     }+                                   "sinh")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7+                            , srcInfoPoints = []+                            }+                          "cosh"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 20+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+                                     , srcInfoPoints = []+                                     }+                                   "cosh")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8+                            , srcInfoPoints = []+                            }+                          "asinh"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 21+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+                                     , srcInfoPoints = []+                                     }+                                   "asinh")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8+                            , srcInfoPoints = []+                            }+                          "atanh"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 21+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+                                     , srcInfoPoints = []+                                     }+                                   "atanh")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8+                            , srcInfoPoints = []+                            }+                          "acosh"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 21+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+                                     , srcInfoPoints = []+                                     }+                                   "acosh")))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 221 1 224 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 9+                , SrcSpan "tests/examples/DerivingVia.hs" 221 74 221 79+                , SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 3+                , SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 73+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 41+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 221 24 221 25+                         , SrcSpan "tests/examples/DerivingVia.hs" 221 37 221 38+                         , SrcSpan "tests/examples/DerivingVia.hs" 221 39 221 41+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35+                                     , srcInfoPoints = []+                                     }+                                   "Semigroup")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37+                                  , srcInfoPoints = []+                                  }+                                "s")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 73+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+                           , srcInfoPoints = []+                           }+                         "Semigroup")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 73+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 53+                         , SrcSpan "tests/examples/DerivingVia.hs" 221 72 221 73+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 72+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 70+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+                                    , srcInfoPoints = []+                                    }+                                  "WrapApplicative")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72+                              , srcInfoPoints = []+                              }+                            "s"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 7+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6+                             , SrcSpan "tests/examples/DerivingVia.hs" 222 6 222 7+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6+                            , srcInfoPoints = []+                            }+                          "<>"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 9 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 21+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+                                     , srcInfoPoints = []+                                     }+                                   "liftA2")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18+                                   , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+                                   , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18+                                      , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+                                      , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+                                     , srcInfoPoints = []+                                     }+                                   "<>")))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 224 1 230 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 9+                , SrcSpan "tests/examples/DerivingVia.hs" 224 68 224 73+                , SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 3+                , SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 67+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 38+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 224 24 224 25+                         , SrcSpan "tests/examples/DerivingVia.hs" 224 34 224 35+                         , SrcSpan "tests/examples/DerivingVia.hs" 224 36 224 38+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32+                                     , srcInfoPoints = []+                                     }+                                   "Monoid")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34+                                  , srcInfoPoints = []+                                  }+                                "m")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 67+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+                           , srcInfoPoints = []+                           }+                         "Monoid")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 67+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 47+                         , SrcSpan "tests/examples/DerivingVia.hs" 224 66 224 67+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 66+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 64+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+                                    , srcInfoPoints = []+                                    }+                                  "WrapApplicative")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66+                              , srcInfoPoints = []+                              }+                            "m"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9+                            , srcInfoPoints = []+                            }+                          "mempty"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 23+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 11 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 23+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+                                     , srcInfoPoints = []+                                     }+                                   "pure")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+                                     , srcInfoPoints = []+                                     }+                                   "mempty")))))+                    Nothing)+             ])+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 230 1 231 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 6+                , SrcSpan "tests/examples/DerivingVia.hs" 230 17 230 22+                , SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 3+                , SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 16+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14+                     , srcInfoPoints = []+                     }+                   "Pointed"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16+                     , srcInfoPoints = []+                     }+                   "p")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 10+                          , srcInfoPoints = []+                          }+                        "pointed"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 22+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 231 16 231 18 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 22+                            , srcInfoPoints = []+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20+                                  , srcInfoPoints = []+                                  }+                                "p"))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22+                                  , srcInfoPoints = []+                                  }+                                "a")))))+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 233 1 234 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 233 23 233 24 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 22+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 20+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18+                        , srcInfoPoints = []+                        }+                      "WrapMonad"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20+                        , srcInfoPoints = []+                        }+                      "f")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 37+                      , srcInfoPoints = []+                      }+                    "WrappedMonad")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 43+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 39+                           , SrcSpan "tests/examples/DerivingVia.hs" 233 42 233 43+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 42+                          , srcInfoPoints = []+                          }+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40+                                , srcInfoPoints = []+                                }+                              "f"))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 36+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 234 20 234 21+                    , SrcSpan "tests/examples/DerivingVia.hs" 234 28 234 29+                    , SrcSpan "tests/examples/DerivingVia.hs" 234 35 234 36+                    ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 234 12 234 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+                             , srcInfoPoints = []+                             }+                           "Pointed")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+                             , srcInfoPoints = []+                             }+                           "Monad")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 236 1 239 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 236 1 236 9+                , SrcSpan "tests/examples/DerivingVia.hs" 236 56 236 61+                , SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 3+                , SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 55+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 33+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 236 18 236 19+                         , SrcSpan "tests/examples/DerivingVia.hs" 236 29 236 30+                         , SrcSpan "tests/examples/DerivingVia.hs" 236 31 236 33+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18+                                  , srcInfoPoints = []+                                  }+                                "m")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27+                                     , srcInfoPoints = []+                                     }+                                   "Pointed")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29+                                  , srcInfoPoints = []+                                  }+                                "m")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 55+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+                           , srcInfoPoints = []+                           }+                         "Functor")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 55+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 43+                         , SrcSpan "tests/examples/DerivingVia.hs" 236 54 236 55+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 54+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+                                 , srcInfoPoints = []+                                 }+                               "WrapMonad")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54+                              , srcInfoPoints = []+                              }+                            "m"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7+                            , srcInfoPoints = []+                            }+                          "fmap"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 15+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 9 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+                                  , srcInfoPoints = []+                                  }+                                "liftM"))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 239 1 244 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 9+                , SrcSpan "tests/examples/DerivingVia.hs" 239 60 239 65+                , SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 3+                , SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 3+                , SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 59+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 33+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 239 18 239 19+                         , SrcSpan "tests/examples/DerivingVia.hs" 239 29 239 30+                         , SrcSpan "tests/examples/DerivingVia.hs" 239 31 239 33+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18+                                  , srcInfoPoints = []+                                  }+                                "m")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27+                                     , srcInfoPoints = []+                                     }+                                   "Pointed")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29+                                  , srcInfoPoints = []+                                  }+                                "m")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 59+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+                           , srcInfoPoints = []+                           }+                         "Applicative")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 59+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 47+                         , SrcSpan "tests/examples/DerivingVia.hs" 239 58 239 59+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 58+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+                                 , srcInfoPoints = []+                                 }+                               "WrapMonad")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58+                              , srcInfoPoints = []+                              }+                            "m"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7+                            , srcInfoPoints = []+                            }+                          "pure"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 10 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+                                  , srcInfoPoints = []+                                  }+                                "pointed"))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 8+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7+                             , SrcSpan "tests/examples/DerivingVia.hs" 241 7 241 8+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7+                            , srcInfoPoints = []+                            }+                          "<*>"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 13+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 10 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+                                  , srcInfoPoints = []+                                  }+                                "ap"))))+                    Nothing)+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 244 1 247 58+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 244 15 244 16 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 14+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12+                     , srcInfoPoints = []+                     }+                   "Sorted"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 23+                      , srcInfoPoints = []+                      }+                    "Sorted")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25+                          , srcInfoPoints = []+                          }+                        "a")+                 , TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27+                          , srcInfoPoints = []+                          }+                        "a")+                 , TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 34+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 245 12 245 13+                    , SrcSpan "tests/examples/DerivingVia.hs" 245 20 245 21+                    , SrcSpan "tests/examples/DerivingVia.hs" 245 33 245 34+                    ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 246 5 246 8+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 10+                             , SrcSpan "tests/examples/DerivingVia.hs" 246 26 246 27+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 26+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+                                     , srcInfoPoints = []+                                     }+                                   "WrapMonad")))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+                                     , srcInfoPoints = []+                                     }+                                   "Sorted")))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+                             , srcInfoPoints = []+                             }+                           "Functor")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+                             , srcInfoPoints = []+                             }+                           "Applicative")))+              ]+          , Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 58+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 247 12 247 13+                    , SrcSpan "tests/examples/DerivingVia.hs" 247 16 247 17+                    , SrcSpan "tests/examples/DerivingVia.hs" 247 28 247 29+                    , SrcSpan "tests/examples/DerivingVia.hs" 247 38 247 39+                    , SrcSpan "tests/examples/DerivingVia.hs" 247 49 247 50+                    , SrcSpan "tests/examples/DerivingVia.hs" 247 57 247 58+                    ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 248 5 248 8+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 35+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 10+                             , SrcSpan "tests/examples/DerivingVia.hs" 248 34 248 35+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 34+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 32+                               , srcInfoPoints = []+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+                                        , srcInfoPoints = []+                                        }+                                      "WrapApplicative")))+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+                                        , srcInfoPoints = []+                                        }+                                      "Sorted"))))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34+                                  , srcInfoPoints = []+                                  }+                                "a"))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+                             , srcInfoPoints = []+                             }+                           "Num")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+                             , srcInfoPoints = []+                             }+                           "Fractional")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+                             , srcInfoPoints = []+                             }+                           "Floating")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+                             , srcInfoPoints = []+                             }+                           "Semigroup")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+                             , srcInfoPoints = []+                             }+                           "Monoid")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 251 1 258 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 251 1 251 9+                , SrcSpan "tests/examples/DerivingVia.hs" 251 23 251 28+                , SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 3+                , SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 3+                , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+                           , srcInfoPoints = []+                           }+                         "Monad")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+                           , srcInfoPoints = []+                           }+                         "Sorted")))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 252 4 252 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 252 7 252 8+                              ]+                          }+                        ">>="+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 51+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 252 21 252 23 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 20+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+                                     , srcInfoPoints = []+                                     }+                                   "Sorted")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20+                                  , srcInfoPoints = []+                                  }+                                "a")))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 51+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 252 40 252 42 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 39+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 25+                                   , SrcSpan "tests/examples/DerivingVia.hs" 252 38 252 39+                                   ]+                               }+                             (TyFun+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 38+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 252 27 252 29 ]+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26+                                        , srcInfoPoints = []+                                        }+                                      "a"))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 38+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 252 30 252 36+                                              , srcInfoPoints = []+                                              }+                                            "Sorted")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38+                                           , srcInfoPoints = []+                                           }+                                         "b")))))+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 51+                               , srcInfoPoints = []+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+                                        , srcInfoPoints = []+                                        }+                                      "Sorted")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51+                                     , srcInfoPoints = []+                                     }+                                   "b"))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+                      }+                    [ InfixMatch+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+                          }+                        (PApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 15+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9+                                   , srcInfoPoints = []+                                   }+                                 "Sorted"))+                           [ PVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11+                                    , srcInfoPoints = []+                                    }+                                  "a")+                           , PVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13+                                    , srcInfoPoints = []+                                    }+                                  "b")+                           , PVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15+                                    , srcInfoPoints = []+                                    }+                                  "c")+                           ])+                        (Symbol+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 253 16 253 19+                             , srcInfoPoints = []+                             }+                           ">>=")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21+                                 , srcInfoPoints = []+                                 }+                               "f")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 39+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 23 ]+                             }+                           (App+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 39+                                , srcInfoPoints = []+                                }+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 36+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 33+                                      , srcInfoPoints = []+                                      }+                                    (Con+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 30+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 253 24 253 30+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 253 24 253 30+                                               , srcInfoPoints = []+                                               }+                                             "Sorted")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 253 31 253 33+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 253 31 253 33+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 253 31 253 33+                                               , srcInfoPoints = []+                                               }+                                             "a'"))))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 253 34 253 36+                                            , srcInfoPoints = []+                                            }+                                          "b'"))))+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+                                         , srcInfoPoints = []+                                         }+                                       "c'")))))+                        (Just+                           (BDecls+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 254 5 256 26+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 5+                                    , SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 5+                                    , SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 5+                                    , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0+                                    ]+                                }+                              [ PatBind+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 26+                                    , srcInfoPoints = []+                                    }+                                  (PApp+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 19+                                       , srcInfoPoints = []+                                       }+                                     (UnQual+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 11+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 254 5 254 11+                                             , srcInfoPoints = []+                                             }+                                           "Sorted"))+                                     [ PVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 254 12 254 14+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 254 12 254 14+                                              , srcInfoPoints = []+                                              }+                                            "a'")+                                     , PWildCard+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 254 15 254 16+                                           , srcInfoPoints = []+                                           }+                                     , PWildCard+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 254 18 254 19+                                           , srcInfoPoints = []+                                           }+                                     ])+                                  (UnGuardedRhs+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 26+                                       , srcInfoPoints =+                                           [ SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 22 ]+                                       }+                                     (App+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 254 23 254 26+                                          , srcInfoPoints = []+                                          }+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 254 23 254 24+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 254 23 254 24+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         254+                                                         23+                                                         254+                                                         24+                                                   , srcInfoPoints = []+                                                   }+                                                 "f")))+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 254 25 254 26+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 254 25 254 26+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         254+                                                         25+                                                         254+                                                         26+                                                   , srcInfoPoints = []+                                                   }+                                                 "a")))))+                                  Nothing+                              , PatBind+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 26+                                    , srcInfoPoints = []+                                    }+                                  (PApp+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 19+                                       , srcInfoPoints = []+                                       }+                                     (UnQual+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 11+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 255 5 255 11+                                             , srcInfoPoints = []+                                             }+                                           "Sorted"))+                                     [ PWildCard+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 255 12 255 13+                                           , srcInfoPoints = []+                                           }+                                     , PVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 255 15 255 17+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 255 15 255 17+                                              , srcInfoPoints = []+                                              }+                                            "b'")+                                     , PWildCard+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 255 18 255 19+                                           , srcInfoPoints = []+                                           }+                                     ])+                                  (UnGuardedRhs+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 26+                                       , srcInfoPoints =+                                           [ SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 22 ]+                                       }+                                     (App+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 255 23 255 26+                                          , srcInfoPoints = []+                                          }+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 255 23 255 24+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 255 23 255 24+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         255+                                                         23+                                                         255+                                                         24+                                                   , srcInfoPoints = []+                                                   }+                                                 "f")))+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 255 25 255 26+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 255 25 255 26+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         255+                                                         25+                                                         255+                                                         26+                                                   , srcInfoPoints = []+                                                   }+                                                 "b")))))+                                  Nothing+                              , PatBind+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 26+                                    , srcInfoPoints = []+                                    }+                                  (PApp+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 20+                                       , srcInfoPoints = []+                                       }+                                     (UnQual+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 11+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 256 5 256 11+                                             , srcInfoPoints = []+                                             }+                                           "Sorted"))+                                     [ PWildCard+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 256 12 256 13+                                           , srcInfoPoints = []+                                           }+                                     , PWildCard+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 256 15 256 16+                                           , srcInfoPoints = []+                                           }+                                     , PVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 256 18 256 20+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 256 18 256 20+                                              , srcInfoPoints = []+                                              }+                                            "c'")+                                     ])+                                  (UnGuardedRhs+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 26+                                       , srcInfoPoints =+                                           [ SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 22 ]+                                       }+                                     (App+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 256 23 256 26+                                          , srcInfoPoints = []+                                          }+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 256 23 256 24+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 256 23 256 24+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         256+                                                         23+                                                         256+                                                         24+                                                   , srcInfoPoints = []+                                                   }+                                                 "f")))+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 256 25 256 26+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 256 25 256 26+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         256+                                                         25+                                                         256+                                                         26+                                                   , srcInfoPoints = []+                                                   }+                                                 "c")))))+                                  Nothing+                              ]))+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 258 1 265 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 9+                , SrcSpan "tests/examples/DerivingVia.hs" 258 25 258 30+                , SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 3+                , SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 3+                , SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+                           , srcInfoPoints = []+                           }+                         "Pointed")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+                           , srcInfoPoints = []+                           }+                         "Sorted")))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 10+                          , srcInfoPoints = []+                          }+                        "pointed"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 259 16 259 18 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 27+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+                                     , srcInfoPoints = []+                                     }+                                   "Sorted")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27+                                  , srcInfoPoints = []+                                  }+                                "a")))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 10+                             , srcInfoPoints = []+                             }+                           "pointed")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12+                                 , srcInfoPoints = []+                                 }+                               "a")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 27+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 14 ]+                             }+                           (App+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 27+                                , srcInfoPoints = []+                                }+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 25+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 23+                                      , srcInfoPoints = []+                                      }+                                    (Con+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 21+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 260 15 260 21+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 260 15 260 21+                                               , srcInfoPoints = []+                                               }+                                             "Sorted")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 260 22 260 23+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 260 22 260 23+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 260 22 260 23+                                               , srcInfoPoints = []+                                               }+                                             "a"))))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 260 24 260 25+                                            , srcInfoPoints = []+                                            }+                                          "a"))))+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+                                         , srcInfoPoints = []+                                         }+                                       "a")))))+                        Nothing+                    ])+             ])+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 265 1 266 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 6+                , SrcSpan "tests/examples/DerivingVia.hs" 265 16 265 21+                , SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 3+                , SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 15+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13+                     , srcInfoPoints = []+                     }+                   "IsZero"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15+                     , srcInfoPoints = []+                     }+                   "a")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 9+                          , srcInfoPoints = []+                          }+                        "isZero"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 22+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 266 15 266 17 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+                                  , srcInfoPoints = []+                                  }+                                "Bool")))))+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 41+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 268 25 268 26 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 24+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21+                     , srcInfoPoints = []+                     }+                   "WrappedNumEq"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 39+                      , srcInfoPoints = []+                      }+                    "WrappedNumEq")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 41+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 269 25 269 26 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 24+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20+                     , srcInfoPoints = []+                     }+                   "WrappedShow"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 38+                      , srcInfoPoints = []+                      }+                    "WrappedShow")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 42+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 270 25 270 26 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 24+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22+                     , srcInfoPoints = []+                     }+                   "WrappedNumEq2"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 40+                      , srcInfoPoints = []+                      }+                    "WrappedNumEq2")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          []+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 272 1 276 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 272 1 272 9+                , SrcSpan "tests/examples/DerivingVia.hs" 272 51 272 56+                , SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 3+                , SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 3+                , SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 50+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 26+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 272 16 272 17+                         , SrcSpan "tests/examples/DerivingVia.hs" 272 22 272 23+                         , SrcSpan "tests/examples/DerivingVia.hs" 272 24 272 26+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 50+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+                           , srcInfoPoints = []+                           }+                         "IsZero")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 50+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 35+                         , SrcSpan "tests/examples/DerivingVia.hs" 272 49 272 50+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 49+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+                                 , srcInfoPoints = []+                                 }+                               "WrappedNumEq")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 9+                          , srcInfoPoints = []+                          }+                        "isZero"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 35+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 273 28 273 30 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 27+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+                                     , srcInfoPoints = []+                                     }+                                   "WrappedNumEq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27+                                  , srcInfoPoints = []+                                  }+                                "a")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+                                  , srcInfoPoints = []+                                  }+                                "Bool")))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 9+                             , srcInfoPoints = []+                             }+                           "isZero")+                        [ PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 26+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 11+                                  , SrcSpan "tests/examples/DerivingVia.hs" 274 25 274 26+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 25+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23+                                       , srcInfoPoints = []+                                       }+                                     "WrappedNumEq"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25+                                        , srcInfoPoints = []+                                        }+                                      "a")+                               ])+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 35+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 28 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 35+                                , srcInfoPoints = []+                                }+                              (Lit+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30+                                   , srcInfoPoints = []+                                   }+                                 (Int+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30+                                      , srcInfoPoints = []+                                      }+                                    0+                                    "0"))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+                                         , srcInfoPoints = []+                                         }+                                       "==")))+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+                                         , srcInfoPoints = []+                                         }+                                       "a")))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 276 1 280 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 9+                , SrcSpan "tests/examples/DerivingVia.hs" 276 43 276 48+                , SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 3+                , SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 3+                , SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 42+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14+                                    , srcInfoPoints = []+                                    }+                                  "Show")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16+                                 , srcInfoPoints = []+                                 }+                               "a"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 42+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+                           , srcInfoPoints = []+                           }+                         "IsZero")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 42+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 28+                         , SrcSpan "tests/examples/DerivingVia.hs" 276 41 276 42+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 41+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+                                 , srcInfoPoints = []+                                 }+                               "WrappedShow")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 9+                          , srcInfoPoints = []+                          }+                        "isZero"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 34+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 277 27 277 29 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 26+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+                                     , srcInfoPoints = []+                                     }+                                   "WrappedShow")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26+                                  , srcInfoPoints = []+                                  }+                                "a")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+                                  , srcInfoPoints = []+                                  }+                                "Bool")))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 9+                             , srcInfoPoints = []+                             }+                           "isZero")+                        [ PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 25+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 11+                                  , SrcSpan "tests/examples/DerivingVia.hs" 278 24 278 25+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 24+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22+                                       , srcInfoPoints = []+                                       }+                                     "WrappedShow"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24+                                        , srcInfoPoints = []+                                        }+                                      "a")+                               ])+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 41+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 27 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 41+                                , srcInfoPoints = []+                                }+                              (Lit+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31+                                   , srcInfoPoints = []+                                   }+                                 (String+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31+                                      , srcInfoPoints = []+                                      }+                                    "0"+                                    "0"))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+                                         , srcInfoPoints = []+                                         }+                                       "==")))+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 41+                                   , srcInfoPoints = []+                                   }+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 278 35 278 39+                                            , srcInfoPoints = []+                                            }+                                          "show")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 278 40 278 41+                                            , srcInfoPoints = []+                                            }+                                          "a"))))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 280 1 284 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 9+                , SrcSpan "tests/examples/DerivingVia.hs" 280 52 280 57+                , SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 3+                , SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 3+                , SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 51+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 26+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 280 16 280 17+                         , SrcSpan "tests/examples/DerivingVia.hs" 280 22 280 23+                         , SrcSpan "tests/examples/DerivingVia.hs" 280 24 280 26+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 51+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+                           , srcInfoPoints = []+                           }+                         "IsZero")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 51+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 35+                         , SrcSpan "tests/examples/DerivingVia.hs" 280 50 280 51+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 50+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+                                 , srcInfoPoints = []+                                 }+                               "WrappedNumEq2")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 9+                          , srcInfoPoints = []+                          }+                        "isZero"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 36+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 281 29 281 31 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 28+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+                                     , srcInfoPoints = []+                                     }+                                   "WrappedNumEq2")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28+                                  , srcInfoPoints = []+                                  }+                                "a")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+                                  , srcInfoPoints = []+                                  }+                                "Bool")))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 9+                             , srcInfoPoints = []+                             }+                           "isZero")+                        [ PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 27+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 11+                                  , SrcSpan "tests/examples/DerivingVia.hs" 282 26 282 27+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 26+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24+                                       , srcInfoPoints = []+                                       }+                                     "WrappedNumEq2"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26+                                        , srcInfoPoints = []+                                        }+                                      "a")+                               ])+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 40+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 29 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 40+                                , srcInfoPoints = []+                                }+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 35+                                   , srcInfoPoints = []+                                   }+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 282 30 282 31+                                            , srcInfoPoints = []+                                            }+                                          "a")))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 282 32 282 33+                                            , srcInfoPoints = []+                                            }+                                          "+")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 282 34 282 35+                                            , srcInfoPoints = []+                                            }+                                          "a"))))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+                                         , srcInfoPoints = []+                                         }+                                       "==")))+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+                                         , srcInfoPoints = []+                                         }+                                       "a")))))+                        Nothing+                    ])+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 284 1 286 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 284 13 284 14 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 8+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12+                  , srcInfoPoints = []+                  }+                "INT"))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 18+                      , srcInfoPoints = []+                      }+                    "INT")+                 [ TyCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+                             , srcInfoPoints = []+                             }+                           "Int"))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 24+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 11 ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 285 12 285 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          , Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 18+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 11 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 286 19 286 22+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 41+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 24+                             , SrcSpan "tests/examples/DerivingVia.hs" 286 40 286 41+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 40+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+                                     , srcInfoPoints = []+                                     }+                                   "WrappedNumEq")))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+                                     , srcInfoPoints = []+                                     }+                                   "Int")))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+                             , srcInfoPoints = []+                             }+                           "IsZero")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 41+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 288 14 288 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 8+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13+                  , srcInfoPoints = []+                  }+                "VOID"))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 20+                      , srcInfoPoints = []+                      }+                    "VOID")+                 [ TyCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+                             , srcInfoPoints = []+                             }+                           "Void"))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 41+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 34 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 288 42 288 45+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 64+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 47+                             , SrcSpan "tests/examples/DerivingVia.hs" 288 63 288 64+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 63+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+                                     , srcInfoPoints = []+                                     }+                                   "WrappedShow")))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+                                     , srcInfoPoints = []+                                     }+                                   "Void")))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+                             , srcInfoPoints = []+                             }+                           "IsZero")))+              ]+          ]+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 293 1 301 14+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 293 1 293 6+                , SrcSpan "tests/examples/DerivingVia.hs" 293 38 293 43+                , SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 3+                , SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 3+                , SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 0+                ]+            }+          (Just+             (CxSingle+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+                  }+                (TypeA+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16+                                 , srcInfoPoints = []+                                 }+                               "Bifunctor")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18+                              , srcInfoPoints = []+                              }+                            "p"))))))+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 37+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35+                     , srcInfoPoints = []+                     }+                   "Biapplicative"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37+                     , srcInfoPoints = []+                     }+                   "p")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 9+                          , srcInfoPoints = []+                          }+                        "bipure"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 28+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 294 15 294 17 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 28+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 294 20 294 22 ]+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19+                                  , srcInfoPoints = []+                                  }+                                "b"))+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 28+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 26+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24+                                        , srcInfoPoints = []+                                        }+                                      "p"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28+                                     , srcInfoPoints = []+                                     }+                                   "b"))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 11+                          , srcInfoPoints = []+                          }+                        "biliftA2"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 297 8 301 14+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 298 5 298 7 ]+                         }+                       (TyParen+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 23+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 9+                                , SrcSpan "tests/examples/DerivingVia.hs" 297 22 297 23+                                ]+                            }+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 22+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 297 12 297 14 ]+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10+                                     , srcInfoPoints = []+                                     }+                                   "a"))+                             (TyFun+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 22+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 297 18 297 20 ]+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16+                                        , srcInfoPoints = []+                                        }+                                      "b"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22+                                        , srcInfoPoints = []+                                        }+                                      "c")))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 298 8 301 14+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 299 5 299 7 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 24+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 9+                                   , SrcSpan "tests/examples/DerivingVia.hs" 298 23 298 24+                                   ]+                               }+                             (TyFun+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 23+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 298 12 298 14 ]+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11+                                        , srcInfoPoints = []+                                        }+                                      "a'"))+                                (TyFun+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 23+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 298 18 298 20 ]+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17+                                           , srcInfoPoints = []+                                           }+                                         "b'"))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23+                                           , srcInfoPoints = []+                                           }+                                         "c'")))))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 299 8 301 14+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 300 5 300 7 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 14+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 11+                                     , srcInfoPoints = []+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9+                                           , srcInfoPoints = []+                                           }+                                         "p"))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11+                                           , srcInfoPoints = []+                                           }+                                         "a")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14+                                        , srcInfoPoints = []+                                        }+                                      "a'")))+                             (TyFun+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 300 8 301 14+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 301 5 301 7 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 14+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 11+                                        , srcInfoPoints = []+                                        }+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 9+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 300 8 300 9+                                              , srcInfoPoints = []+                                              }+                                            "p"))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 300 10 300 11+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 300 10 300 11+                                              , srcInfoPoints = []+                                              }+                                            "b")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14+                                           , srcInfoPoints = []+                                           }+                                         "b'")))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 14+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 11+                                        , srcInfoPoints = []+                                        }+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 9+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 301 8 301 9+                                              , srcInfoPoints = []+                                              }+                                            "p"))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 301 10 301 11+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 301 10 301 11+                                              , srcInfoPoints = []+                                              }+                                            "c")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14+                                           , srcInfoPoints = []+                                           }+                                         "c'"))))))))+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 303 1 309 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 9+                , SrcSpan "tests/examples/DerivingVia.hs" 303 28 303 33+                , SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 3+                , SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 3+                , SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+                           , srcInfoPoints = []+                           }+                         "Biapplicative")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+                         , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+                         , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+                         ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+                            , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+                            , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+                            ]+                        }+                      (TupleCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+                               , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+                               , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+                               ]+                           }+                         Boxed+                         2)))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9+                            , srcInfoPoints = []+                            }+                          "bipure"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 15+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 11 ]+                         }+                       (Con+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+                                , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+                                , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+                                ]+                            }+                          (Special+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+                                   , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+                                   , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+                                   ]+                               }+                             (TupleCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+                                      , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+                                      , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+                                      ]+                                  }+                                Boxed+                                2))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 11+                             , srcInfoPoints = []+                             }+                           "biliftA2")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13+                                 , srcInfoPoints = []+                                 }+                               "f")+                        , PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16+                                 , srcInfoPoints = []+                                 }+                               "f'")+                        , PTuple+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 24+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 18+                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 19 306 20+                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 23 306 24+                                  ]+                              }+                            Boxed+                            [ PVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19+                                     , srcInfoPoints = []+                                     }+                                   "a")+                            , PVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23+                                     , srcInfoPoints = []+                                     }+                                   "a'")+                            ]+                        , PTuple+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 32+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 26+                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 27 306 28+                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 31 306 32+                                  ]+                              }+                            Boxed+                            [ PVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27+                                     , srcInfoPoints = []+                                     }+                                   "b")+                            , PVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31+                                     , srcInfoPoints = []+                                     }+                                   "b'")+                            ]+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 306 33 307 22+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 306 33 306 34 ]+                             }+                           (Tuple+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 22+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 6+                                    , SrcSpan "tests/examples/DerivingVia.hs" 307 11 307 12+                                    , SrcSpan "tests/examples/DerivingVia.hs" 307 21 307 22+                                    ]+                                }+                              Boxed+                              [ App+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 11+                                    , srcInfoPoints = []+                                    }+                                  (App+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 9+                                       , srcInfoPoints = []+                                       }+                                     (Var+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 307 6 307 7+                                                , srcInfoPoints = []+                                                }+                                              "f")))+                                     (Var+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 307 8 307 9+                                                , srcInfoPoints = []+                                                }+                                              "a"))))+                                  (Var+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11+                                       , srcInfoPoints = []+                                       }+                                     (UnQual+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 307 10 307 11+                                             , srcInfoPoints = []+                                             }+                                           "b")))+                              , App+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 21+                                    , srcInfoPoints = []+                                    }+                                  (App+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 18+                                       , srcInfoPoints = []+                                       }+                                     (Var+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 15+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 307 13 307 15+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 307 13 307 15+                                                , srcInfoPoints = []+                                                }+                                              "f'")))+                                     (Var+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 307 16 307 18+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 307 16 307 18+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 307 16 307 18+                                                , srcInfoPoints = []+                                                }+                                              "a'"))))+                                  (Var+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21+                                       , srcInfoPoints = []+                                       }+                                     (UnQual+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 307 19 307 21+                                             , srcInfoPoints = []+                                             }+                                           "b'")))+                              ]))+                        Nothing+                    ])+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 309 1 310 50+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 309 25 309 26 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 24+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 22+                  , srcInfoPoints = []+                  }+                (DHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 20+                     , srcInfoPoints = []+                     }+                   (DHead+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18+                           , srcInfoPoints = []+                           }+                         "WrapBiapp"))+                   (UnkindedVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20+                           , srcInfoPoints = []+                           }+                         "p")))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24+                     , srcInfoPoints = []+                     }+                   "b")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 35+                      , srcInfoPoints = []+                      }+                    "WrapBiap")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 43+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 37+                           , SrcSpan "tests/examples/DerivingVia.hs" 309 42 309 43+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 42+                          , srcInfoPoints = []+                          }+                        (TyApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 40+                             , srcInfoPoints = []+                             }+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38+                                   , srcInfoPoints = []+                                   }+                                 "p"))+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40+                                   , srcInfoPoints = []+                                   }+                                 "a")))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42+                                , srcInfoPoints = []+                                }+                              "b")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 50+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 310 20 310 21+                    , SrcSpan "tests/examples/DerivingVia.hs" 310 30 310 31+                    , SrcSpan "tests/examples/DerivingVia.hs" 310 45 310 46+                    , SrcSpan "tests/examples/DerivingVia.hs" 310 49 310 50+                    ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 310 12 310 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+                             , srcInfoPoints = []+                             }+                           "Bifunctor")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+                             , srcInfoPoints = []+                             }+                           "Biapplicative")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+                             , srcInfoPoints = []+                             }+                           "Eq")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 312 1 321 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 312 1 312 9+                , SrcSpan "tests/examples/DerivingVia.hs" 312 67 312 72+                , SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 3+                , SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 3+                , SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 3+                , SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 3+                , SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 3+                , SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 3+                , SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 3+                , SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 66+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 44+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 312 26 312 27+                         , SrcSpan "tests/examples/DerivingVia.hs" 312 33 312 34+                         , SrcSpan "tests/examples/DerivingVia.hs" 312 40 312 41+                         , SrcSpan "tests/examples/DerivingVia.hs" 312 42 312 44+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24+                                     , srcInfoPoints = []+                                     }+                                   "Biapplicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26+                                  , srcInfoPoints = []+                                  }+                                "p")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40+                                  , srcInfoPoints = []+                                  }+                                "b")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 66+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+                           , srcInfoPoints = []+                           }+                         "Num")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 66+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 50+                         , SrcSpan "tests/examples/DerivingVia.hs" 312 65 312 66+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 65+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 63+                           , srcInfoPoints = []+                           }+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 61+                              , srcInfoPoints = []+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+                                       , srcInfoPoints = []+                                       }+                                     "WrapBiapp")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61+                                    , srcInfoPoints = []+                                    }+                                  "p")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63+                                 , srcInfoPoints = []+                                 }+                               "a")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65+                              , srcInfoPoints = []+                              }+                            "b"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 6+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5+                             , SrcSpan "tests/examples/DerivingVia.hs" 313 5 313 6+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5+                            , srcInfoPoints = []+                            }+                          "+"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 25+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 8 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 25+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 21+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+                                        , srcInfoPoints = []+                                        }+                                      "biliftA2")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19+                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21+                                      ]+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19+                                         , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+                                         , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21+                                         ]+                                     }+                                   (Symbol+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+                                        , srcInfoPoints = []+                                        }+                                      "+"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23+                                   , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23+                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+                                     , srcInfoPoints = []+                                     }+                                   "+")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 6+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5+                             , SrcSpan "tests/examples/DerivingVia.hs" 314 5 314 6+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5+                            , srcInfoPoints = []+                            }+                          "-"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 25+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 8 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 25+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 21+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+                                        , srcInfoPoints = []+                                        }+                                      "biliftA2")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19+                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21+                                      ]+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19+                                         , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+                                         , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21+                                         ]+                                     }+                                   (Symbol+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+                                        , srcInfoPoints = []+                                        }+                                      "*"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23+                                   , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23+                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+                                     , srcInfoPoints = []+                                     }+                                   "*")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 6+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5+                             , SrcSpan "tests/examples/DerivingVia.hs" 315 5 315 6+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5+                            , srcInfoPoints = []+                            }+                          "*"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 25+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 8 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 25+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 21+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+                                        , srcInfoPoints = []+                                        }+                                      "biliftA2")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19+                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21+                                      ]+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19+                                         , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+                                         , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21+                                         ]+                                     }+                                   (Symbol+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+                                        , srcInfoPoints = []+                                        }+                                      "*"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23+                                   , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23+                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+                                     , srcInfoPoints = []+                                     }+                                   "*")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9+                            , srcInfoPoints = []+                            }+                          "negate"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 31+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 11 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 31+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 24+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+                                        , srcInfoPoints = []+                                        }+                                      "bimap")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+                                        , srcInfoPoints = []+                                        }+                                      "negate"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+                                     , srcInfoPoints = []+                                     }+                                   "negate")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6+                            , srcInfoPoints = []+                            }+                          "abs"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 22+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 8 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 22+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 18+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+                                        , srcInfoPoints = []+                                        }+                                      "bimap")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+                                        , srcInfoPoints = []+                                        }+                                      "abs"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+                                     , srcInfoPoints = []+                                     }+                                   "abs")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9+                            , srcInfoPoints = []+                            }+                          "signum"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 31+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 11 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 31+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 24+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+                                        , srcInfoPoints = []+                                        }+                                      "bimap")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+                                        , srcInfoPoints = []+                                        }+                                      "signum"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+                                     , srcInfoPoints = []+                                     }+                                   "signum")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 14+                             , srcInfoPoints = []+                             }+                           "fromInteger")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16+                                 , srcInfoPoints = []+                                 }+                               "n")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 55+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 18 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 55+                                , srcInfoPoints = []+                                }+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 32+                                   , srcInfoPoints = []+                                   }+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 319 19 319 30+                                            , srcInfoPoints = []+                                            }+                                          "fromInteger")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 319 31 319 32+                                            , srcInfoPoints = []+                                            }+                                          "n"))))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34+                                       , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+                                       , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41+                                       ]+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34+                                          , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+                                          , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41+                                          ]+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+                                         , srcInfoPoints = []+                                         }+                                       "bipure")))+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 55+                                   , srcInfoPoints = []+                                   }+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 319 42 319 53+                                            , srcInfoPoints = []+                                            }+                                          "fromInteger")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 319 54 319 55+                                            , srcInfoPoints = []+                                            }+                                          "n"))))))+                        Nothing+                    ])+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 321 1 322 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 321 14 321 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 8+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13+                  , srcInfoPoints = []+                  }+                "INT2"))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 20+                      , srcInfoPoints = []+                      }+                    "INT2")+                 [ TyTuple+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 31+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 22+                           , SrcSpan "tests/examples/DerivingVia.hs" 321 25 321 26+                           , SrcSpan "tests/examples/DerivingVia.hs" 321 30 321 31+                           ]+                       }+                     Boxed+                     [ TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+                                 , srcInfoPoints = []+                                 }+                               "Int"))+                     , TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+                                 , srcInfoPoints = []+                                 }+                               "Int"))+                     ]+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 18+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 11 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 322 19 322 22+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 62+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 24+                             , SrcSpan "tests/examples/DerivingVia.hs" 322 61 322 62+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 61+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+                                     , srcInfoPoints = []+                                     }+                                   "WrappedNumEq2")))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 61+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 39+                                   , SrcSpan "tests/examples/DerivingVia.hs" 322 60 322 61+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 60+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 56+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 52+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 48+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 322 39 322 48+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 322 39 322 48+                                                 , srcInfoPoints = []+                                                 }+                                               "WrapBiapp")))+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 322 49 322 52+                                           , srcInfoPoints =+                                               [ SrcSpan+                                                   "tests/examples/DerivingVia.hs" 322 49 322 50+                                               , SrcSpan+                                                   "tests/examples/DerivingVia.hs" 322 50 322 51+                                               , SrcSpan+                                                   "tests/examples/DerivingVia.hs" 322 51 322 52+                                               ]+                                           }+                                         (Special+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 322 49 322 52+                                              , srcInfoPoints =+                                                  [ SrcSpan+                                                      "tests/examples/DerivingVia.hs" 322 49 322 50+                                                  , SrcSpan+                                                      "tests/examples/DerivingVia.hs" 322 50 322 51+                                                  , SrcSpan+                                                      "tests/examples/DerivingVia.hs" 322 51 322 52+                                                  ]+                                              }+                                            (TupleCon+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 322 49 322 52+                                                 , srcInfoPoints =+                                                     [ SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         322+                                                         49+                                                         322+                                                         50+                                                     , SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         322+                                                         50+                                                         322+                                                         51+                                                     , SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         322+                                                         51+                                                         322+                                                         52+                                                     ]+                                                 }+                                               Boxed+                                               2))))+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 322 53 322 56+                                              , srcInfoPoints = []+                                              }+                                            "Int"))))+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+                                           , srcInfoPoints = []+                                           }+                                         "Int")))))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+                             , srcInfoPoints = []+                             }+                           "IsZero")))+              ]+          ]+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 327 1 328 20+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 327 1 327 6+                , SrcSpan "tests/examples/DerivingVia.hs" 327 32 327 37+                , SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 3+                , SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 0+                ]+            }+          (Just+             (CxSingle+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+                  }+                (TypeA+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13+                                 , srcInfoPoints = []+                                 }+                               "Monoid")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 31+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29+                     , srcInfoPoints = []+                     }+                   "MonoidNull"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31+                     , srcInfoPoints = []+                     }+                   "a")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 7+                          , srcInfoPoints = []+                          }+                        "null"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 328 13 328 15 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+                                  , srcInfoPoints = []+                                  }+                                "Bool")))))+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 62+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 330 22 330 23 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 21+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19+                     , srcInfoPoints = []+                     }+                   "WrpMonNull"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 27+                      , srcInfoPoints = []+                      }+                    "WRM")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 62+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 38+                    , SrcSpan "tests/examples/DerivingVia.hs" 330 39 330 40+                    , SrcSpan "tests/examples/DerivingVia.hs" 330 42 330 43+                    , SrcSpan "tests/examples/DerivingVia.hs" 330 53 330 54+                    , SrcSpan "tests/examples/DerivingVia.hs" 330 61 330 62+                    ]+                }+              Nothing+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+                             , srcInfoPoints = []+                             }+                           "Eq")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+                             , srcInfoPoints = []+                             }+                           "Semigroup")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+                             , srcInfoPoints = []+                             }+                           "Monoid")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 332 1 336 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 332 1 332 9+                , SrcSpan "tests/examples/DerivingVia.hs" 332 56 332 61+                , SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 3+                , SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 3+                , SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 55+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 29+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 332 15 332 16+                         , SrcSpan "tests/examples/DerivingVia.hs" 332 25 332 26+                         , SrcSpan "tests/examples/DerivingVia.hs" 332 27 332 29+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23+                                     , srcInfoPoints = []+                                     }+                                   "Monoid")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 55+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+                           , srcInfoPoints = []+                           }+                         "MonoidNull")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 55+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 42+                         , SrcSpan "tests/examples/DerivingVia.hs" 332 54 332 55+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 54+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+                                 , srcInfoPoints = []+                                 }+                               "WrpMonNull")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 7+                          , srcInfoPoints = []+                          }+                        "null"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 31+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 333 24 333 26 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 23+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+                                     , srcInfoPoints = []+                                     }+                                   "WrpMonNull")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23+                                  , srcInfoPoints = []+                                  }+                                "a")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+                                  , srcInfoPoints = []+                                  }+                                "Bool")))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7+                            , srcInfoPoints = []+                            }+                          "null"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 9 ]+                         }+                       (RightSection+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 21+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 11+                                , SrcSpan "tests/examples/DerivingVia.hs" 334 20 334 21+                                ]+                            }+                          (QVarOp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+                                     , srcInfoPoints = []+                                     }+                                   "==")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+                                     , srcInfoPoints = []+                                     }+                                   "mempty")))))+                    Nothing)+             ])+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 54+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 9+                , SrcSpan "tests/examples/DerivingVia.hs" 336 31 336 39+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 336 10 336 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 30+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 336 29 336 30+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 29+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+                                 , srcInfoPoints = []+                                 }+                               "WrpMonNull")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+                                 , srcInfoPoints = []+                                 }+                               "Any")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+                           , srcInfoPoints = []+                           }+                         "MonoidNull")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+                           , srcInfoPoints = []+                           }+                         "Any")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 53+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 9+                , SrcSpan "tests/examples/DerivingVia.hs" 337 31 337 39+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 337 10 337 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+                         ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+                            , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+                            ]+                        }+                      (UnitCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+                               , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+                               ]+                           })))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+                           , srcInfoPoints = []+                           }+                         "MonoidNull")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+                         , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+                         ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+                            , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+                            ]+                        }+                      (UnitCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+                               , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+                               ]+                           })))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 59+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 9+                , SrcSpan "tests/examples/DerivingVia.hs" 338 31 338 39+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 338 10 338 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+                           , srcInfoPoints = []+                           }+                         "Ordering")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+                           , srcInfoPoints = []+                           }+                         "MonoidNull")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+                           , srcInfoPoints = []+                           }+                         "Ordering")))))+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 345 1 348 26+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 345 1 345 6+                , SrcSpan "tests/examples/DerivingVia.hs" 345 17 345 22+                , SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 3+                , SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 3+                , SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 3+                , SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 16+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14+                     , srcInfoPoints = []+                     }+                   "Lattice"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16+                     , srcInfoPoints = []+                     }+                   "a")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 6+                          , srcInfoPoints = []+                          }+                        "sup"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 23+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 346 14 346 16 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 23+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 346 19 346 21 ]+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18+                                  , srcInfoPoints = []+                                  }+                                "a"))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23+                                  , srcInfoPoints = []+                                  }+                                "a")))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 347 4 347 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 347 7 347 8+                              ]+                          }+                        ".>="+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 26+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 347 14 347 16 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 26+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 347 19 347 21 ]+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18+                                  , srcInfoPoints = []+                                  }+                                "a"))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+                                     , srcInfoPoints = []+                                     }+                                   "Bool"))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 7+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 348 4 348 6+                              , SrcSpan "tests/examples/DerivingVia.hs" 348 6 348 7+                              ]+                          }+                        ".>"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 26+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 348 14 348 16 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 26+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 348 19 348 21 ]+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18+                                  , srcInfoPoints = []+                                  }+                                "a"))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+                                     , srcInfoPoints = []+                                     }+                                   "Bool"))))))+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 350 1 351 29+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 350 19 350 20 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 18+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16+                     , srcInfoPoints = []+                     }+                   "WrapOrd"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 31+                      , srcInfoPoints = []+                      }+                    "WrappedOrd")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 29+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 351 20 351 21+                    , SrcSpan "tests/examples/DerivingVia.hs" 351 23 351 24+                    , SrcSpan "tests/examples/DerivingVia.hs" 351 28 351 29+                    ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 351 12 351 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+                             , srcInfoPoints = []+                             }+                           "Eq")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+                             , srcInfoPoints = []+                             }+                           "Ord")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 353 1 358 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 353 1 353 9+                , SrcSpan "tests/examples/DerivingVia.hs" 353 39 353 44+                , SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 3+                , SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 3+                , SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 3+                , SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 38+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13+                                    , srcInfoPoints = []+                                    }+                                  "Ord")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15+                                 , srcInfoPoints = []+                                 }+                               "a"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 38+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 38+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 28+                         , SrcSpan "tests/examples/DerivingVia.hs" 353 37 353 38+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 37+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+                                 , srcInfoPoints = []+                                 }+                               "WrapOrd")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6+                            , srcInfoPoints = []+                            }+                          "sup"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 14+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 10 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+                                  , srcInfoPoints = []+                                  }+                                "max"))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 8+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7+                             , SrcSpan "tests/examples/DerivingVia.hs" 355 7 355 8+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7+                            , srcInfoPoints = []+                            }+                          ".>="))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 15+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 10 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12+                                , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+                                , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15+                                ]+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12+                                   , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+                                   , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15+                                   ]+                               }+                             (Symbol+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+                                  , srcInfoPoints = []+                                  }+                                ">="))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 7+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6+                             , SrcSpan "tests/examples/DerivingVia.hs" 356 6 356 7+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6+                            , srcInfoPoints = []+                            }+                          ".>"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 14+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 10 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12+                                , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+                                , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14+                                ]+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12+                                   , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+                                   , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14+                                   ]+                               }+                             (Symbol+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+                                  , srcInfoPoints = []+                                  }+                                ">"))))+                    Nothing)+             ])+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 59+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 9+                , SrcSpan "tests/examples/DerivingVia.hs" 358 21 358 29+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 358 10 358 13+                  , srcInfoPoints = []+                  }+                (TyList+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 17+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 358 16 358 17+                         ]+                     }+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16+                           , srcInfoPoints = []+                           }+                         "a")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 59+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33+                                    , srcInfoPoints = []+                                    }+                                  "Ord")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35+                                 , srcInfoPoints = []+                                 }+                               "a"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 59+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyList+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 59+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 57+                         , SrcSpan "tests/examples/DerivingVia.hs" 358 58 358 59+                         ]+                     }+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58+                           , srcInfoPoints = []+                           }+                         "a")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 62+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 9+                , SrcSpan "tests/examples/DerivingVia.hs" 359 21 359 29+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 359 10 359 13+                  , srcInfoPoints = []+                  }+                (TyTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 20+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 16 359 17+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 19 359 20+                         ]+                     }+                   Boxed+                   [ TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16+                            , srcInfoPoints = []+                            }+                          "a")+                   , TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19+                            , srcInfoPoints = []+                            }+                          "b")+                   ])))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 62+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 47+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 31+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 36 359 37+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 43 359 44+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 45 359 47+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34+                                     , srcInfoPoints = []+                                     }+                                   "Ord")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41+                                     , srcInfoPoints = []+                                     }+                                   "Ord")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43+                                  , srcInfoPoints = []+                                  }+                                "b")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 62+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 62+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 57+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 58 359 59+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 61 359 62+                         ]+                     }+                   Boxed+                   [ TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58+                            , srcInfoPoints = []+                            }+                          "a")+                   , TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61+                            , srcInfoPoints = []+                            }+                          "b")+                   ])))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 40+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 9+                , SrcSpan "tests/examples/DerivingVia.hs" 361 19 361 27+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 361 10 361 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+                           , srcInfoPoints = []+                           }+                         "Bool")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+                           , srcInfoPoints = []+                           }+                         "Bool")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 40+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 9+                , SrcSpan "tests/examples/DerivingVia.hs" 363 19 363 27+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 363 10 363 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+                           , srcInfoPoints = []+                           }+                         "Char")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+                           , srcInfoPoints = []+                           }+                         "Char")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 9+                , SrcSpan "tests/examples/DerivingVia.hs" 365 18 365 26+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 365 10 365 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+                           , srcInfoPoints = []+                           }+                         "Int")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+                           , srcInfoPoints = []+                           }+                         "Int")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 9+                , SrcSpan "tests/examples/DerivingVia.hs" 367 22 367 30+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 367 10 367 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+                           , srcInfoPoints = []+                           }+                         "Integer")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+                           , srcInfoPoints = []+                           }+                         "Integer")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 42+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 9+                , SrcSpan "tests/examples/DerivingVia.hs" 369 20 369 28+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 369 10 369 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+                           , srcInfoPoints = []+                           }+                         "Float")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+                           , srcInfoPoints = []+                           }+                         "Float")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 44+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 9+                , SrcSpan "tests/examples/DerivingVia.hs" 371 21 371 29+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 371 10 371 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+                           , srcInfoPoints = []+                           }+                         "Double")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+                           , srcInfoPoints = []+                           }+                         "Double")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 48+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 9+                , SrcSpan "tests/examples/DerivingVia.hs" 373 23 373 31+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 373 10 373 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+                           , srcInfoPoints = []+                           }+                         "Rational")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+                           , srcInfoPoints = []+                           }+                         "Rational")))))+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 380 1 386 47+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 380 1 380 6+                , SrcSpan "tests/examples/DerivingVia.hs" 380 31 380 36+                , SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 3+                , SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 3+                , SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 3+                , SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 3+                , SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 3+                , SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 3+                , SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 0+                ]+            }+          (Just+             (CxSingle+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+                  }+                (TypeA+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14+                                 , srcInfoPoints = []+                                 }+                               "Functor")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16+                              , srcInfoPoints = []+                              }+                            "f"))))))+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 30+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28+                     , srcInfoPoints = []+                     }+                   "Additive"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30+                     , srcInfoPoints = []+                     }+                   "f")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 7+                          , srcInfoPoints = []+                          }+                        "zero"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 23+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 14+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 381 11 381 14+                                              , srcInfoPoints = []+                                              }+                                            "Num")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 23+                            , srcInfoPoints = []+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21+                                  , srcInfoPoints = []+                                  }+                                "f"))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23+                                  , srcInfoPoints = []+                                  }+                                "a")))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 382 4 382 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 382 7 382 8+                              ]+                          }+                        "^+^"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 38+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 15+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 382 12 382 15+                                              , srcInfoPoints = []+                                              }+                                            "Num")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 38+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 382 25 382 27 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 24+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22+                                     , srcInfoPoints = []+                                     }+                                   "f"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 38+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 382 32 382 34 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29+                                        , srcInfoPoints = []+                                        }+                                      "f"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 38+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36+                                        , srcInfoPoints = []+                                        }+                                      "f"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38+                                        , srcInfoPoints = []+                                        }+                                      "a")))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 8+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7+                             , SrcSpan "tests/examples/DerivingVia.hs" 383 7 383 8+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7+                            , srcInfoPoints = []+                            }+                          "^+^"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 21+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+                                     , srcInfoPoints = []+                                     }+                                   "liftU2")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19+                                   , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+                                   , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19+                                      , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+                                      , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+                                     , srcInfoPoints = []+                                     }+                                   "+")))))+                    Nothing)+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 384 4 384 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 384 7 384 8+                              ]+                          }+                        "^-^"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 38+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 15+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 384 12 384 15+                                              , srcInfoPoints = []+                                              }+                                            "Num")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 38+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 384 25 384 27 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 24+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22+                                     , srcInfoPoints = []+                                     }+                                   "f"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 38+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 384 32 384 34 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29+                                        , srcInfoPoints = []+                                        }+                                      "f"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 38+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36+                                        , srcInfoPoints = []+                                        }+                                      "f"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38+                                        , srcInfoPoints = []+                                        }+                                      "a")))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+                      , srcInfoPoints = []+                      }+                    [ InfixMatch+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+                          , srcInfoPoints = []+                          }+                        (PVar+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4+                                , srcInfoPoints = []+                                }+                              "x"))+                        (Symbol+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 5 385 8+                             , srcInfoPoints = []+                             }+                           "^-^")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10+                                 , srcInfoPoints = []+                                 }+                               "y")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 32+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 12 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 32+                                , srcInfoPoints = []+                                }+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+                                         , srcInfoPoints = []+                                         }+                                       "x")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+                                         , srcInfoPoints = []+                                         }+                                       "^+^")))+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 32+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 30+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 23+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 385 19 385 23+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 385 19 385 23+                                               , srcInfoPoints = []+                                               }+                                             "fmap")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 385 24 385 30+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 385 24 385 30+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 385 24 385 30+                                               , srcInfoPoints = []+                                               }+                                             "negate"))))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 385 31 385 32+                                            , srcInfoPoints = []+                                            }+                                          "y"))))))+                        Nothing+                    ])+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 9+                          , srcInfoPoints = []+                          }+                        "liftU2"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 47+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 386 27 386 29 ]+                         }+                       (TyParen+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 26+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 14+                                , SrcSpan "tests/examples/DerivingVia.hs" 386 25 386 26+                                ]+                            }+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 25+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 386 16 386 18 ]+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15+                                     , srcInfoPoints = []+                                     }+                                   "a"))+                             (TyFun+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 25+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 386 21 386 23 ]+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20+                                        , srcInfoPoints = []+                                        }+                                      "a"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25+                                        , srcInfoPoints = []+                                        }+                                      "a")))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 47+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 386 34 386 36 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 33+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31+                                     , srcInfoPoints = []+                                     }+                                   "f"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 47+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 386 41 386 43 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 40+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38+                                        , srcInfoPoints = []+                                        }+                                      "f"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 47+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45+                                        , srcInfoPoints = []+                                        }+                                      "f"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47+                                        , srcInfoPoints = []+                                        }+                                      "a")))))))+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 388 1 395 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 9+                , SrcSpan "tests/examples/DerivingVia.hs" 388 22 388 27+                , SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 3+                , SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 3+                , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+                         , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+                         ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+                            , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+                            ]+                        }+                      (ListCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+                               , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+                               ]+                           })))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7+                            , srcInfoPoints = []+                            }+                          "zero"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 12+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 9 ]+                         }+                       (List+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 12+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 11+                                , SrcSpan "tests/examples/DerivingVia.hs" 389 11 389 12+                                ]+                            }+                          []))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 9+                             , srcInfoPoints = []+                             }+                           "liftU2")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11+                                 , srcInfoPoints = []+                                 }+                               "f")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 16+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 13 ]+                             }+                           (Var+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+                                      , srcInfoPoints = []+                                      }+                                    "go"))))+                        (Just+                           (BDecls+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 5+                                    , SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 5+                                    , SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 5+                                    , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0+                                    ]+                                }+                              [ FunBind+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18+                                    , srcInfoPoints = []+                                    }+                                  [ Match+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 40+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 7+                                           , srcInfoPoints = []+                                           }+                                         "go")+                                      [ PParen+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 391 8 391 14+                                            , srcInfoPoints =+                                                [ SrcSpan+                                                    "tests/examples/DerivingVia.hs" 391 8 391 9+                                                , SrcSpan+                                                    "tests/examples/DerivingVia.hs" 391 13 391 14+                                                ]+                                            }+                                          (PInfixApp+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 391 9 391 13+                                               , srcInfoPoints = []+                                               }+                                             (PVar+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs" 391 9 391 10+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           391+                                                           9+                                                           391+                                                           10+                                                     , srcInfoPoints = []+                                                     }+                                                   "x"))+                                             (Special+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        391+                                                        10+                                                        391+                                                        11+                                                  , srcInfoPoints = []+                                                  }+                                                (Cons+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           391+                                                           10+                                                           391+                                                           11+                                                     , srcInfoPoints = []+                                                     }))+                                             (PVar+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        391+                                                        11+                                                        391+                                                        13+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           391+                                                           11+                                                           391+                                                           13+                                                     , srcInfoPoints = []+                                                     }+                                                   "xs")))+                                      , PParen+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 391 15 391 21+                                            , srcInfoPoints =+                                                [ SrcSpan+                                                    "tests/examples/DerivingVia.hs" 391 15 391 16+                                                , SrcSpan+                                                    "tests/examples/DerivingVia.hs" 391 20 391 21+                                                ]+                                            }+                                          (PInfixApp+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 391 16 391 20+                                               , srcInfoPoints = []+                                               }+                                             (PVar+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        391+                                                        16+                                                        391+                                                        17+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           391+                                                           16+                                                           391+                                                           17+                                                     , srcInfoPoints = []+                                                     }+                                                   "y"))+                                             (Special+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        391+                                                        17+                                                        391+                                                        18+                                                  , srcInfoPoints = []+                                                  }+                                                (Cons+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           391+                                                           17+                                                           391+                                                           18+                                                     , srcInfoPoints = []+                                                     }))+                                             (PVar+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        391+                                                        18+                                                        391+                                                        20+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           391+                                                           18+                                                           391+                                                           20+                                                     , srcInfoPoints = []+                                                     }+                                                   "ys")))+                                      ]+                                      (UnGuardedRhs+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 391 22 391 40+                                           , srcInfoPoints =+                                               [ SrcSpan+                                                   "tests/examples/DerivingVia.hs" 391 22 391 23+                                               ]+                                           }+                                         (InfixApp+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 391 24 391 40+                                              , srcInfoPoints = []+                                              }+                                            (App+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 391 24 391 29+                                                 , srcInfoPoints = []+                                                 }+                                               (App+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          391+                                                          24+                                                          391+                                                          27+                                                    , srcInfoPoints = []+                                                    }+                                                  (Var+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             24+                                                             391+                                                             25+                                                       , srcInfoPoints = []+                                                       }+                                                     (UnQual+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/DerivingVia.hs"+                                                                391+                                                                24+                                                                391+                                                                25+                                                          , srcInfoPoints = []+                                                          }+                                                        (Ident+                                                           SrcSpanInfo+                                                             { srcInfoSpan =+                                                                 SrcSpan+                                                                   "tests/examples/DerivingVia.hs"+                                                                   391+                                                                   24+                                                                   391+                                                                   25+                                                             , srcInfoPoints = []+                                                             }+                                                           "f")))+                                                  (Var+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             26+                                                             391+                                                             27+                                                       , srcInfoPoints = []+                                                       }+                                                     (UnQual+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/DerivingVia.hs"+                                                                391+                                                                26+                                                                391+                                                                27+                                                          , srcInfoPoints = []+                                                          }+                                                        (Ident+                                                           SrcSpanInfo+                                                             { srcInfoSpan =+                                                                 SrcSpan+                                                                   "tests/examples/DerivingVia.hs"+                                                                   391+                                                                   26+                                                                   391+                                                                   27+                                                             , srcInfoPoints = []+                                                             }+                                                           "x"))))+                                               (Var+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          391+                                                          28+                                                          391+                                                          29+                                                    , srcInfoPoints = []+                                                    }+                                                  (UnQual+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             28+                                                             391+                                                             29+                                                       , srcInfoPoints = []+                                                       }+                                                     (Ident+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/DerivingVia.hs"+                                                                391+                                                                28+                                                                391+                                                                29+                                                          , srcInfoPoints = []+                                                          }+                                                        "y"))))+                                            (QConOp+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 391 30 391 31+                                                 , srcInfoPoints = []+                                                 }+                                               (Special+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          391+                                                          30+                                                          391+                                                          31+                                                    , srcInfoPoints = []+                                                    }+                                                  (Cons+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             30+                                                             391+                                                             31+                                                       , srcInfoPoints = []+                                                       })))+                                            (App+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 391 32 391 40+                                                 , srcInfoPoints = []+                                                 }+                                               (App+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          391+                                                          32+                                                          391+                                                          37+                                                    , srcInfoPoints = []+                                                    }+                                                  (Var+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             32+                                                             391+                                                             34+                                                       , srcInfoPoints = []+                                                       }+                                                     (UnQual+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/DerivingVia.hs"+                                                                391+                                                                32+                                                                391+                                                                34+                                                          , srcInfoPoints = []+                                                          }+                                                        (Ident+                                                           SrcSpanInfo+                                                             { srcInfoSpan =+                                                                 SrcSpan+                                                                   "tests/examples/DerivingVia.hs"+                                                                   391+                                                                   32+                                                                   391+                                                                   34+                                                             , srcInfoPoints = []+                                                             }+                                                           "go")))+                                                  (Var+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             35+                                                             391+                                                             37+                                                       , srcInfoPoints = []+                                                       }+                                                     (UnQual+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/DerivingVia.hs"+                                                                391+                                                                35+                                                                391+                                                                37+                                                          , srcInfoPoints = []+                                                          }+                                                        (Ident+                                                           SrcSpanInfo+                                                             { srcInfoSpan =+                                                                 SrcSpan+                                                                   "tests/examples/DerivingVia.hs"+                                                                   391+                                                                   35+                                                                   391+                                                                   37+                                                             , srcInfoPoints = []+                                                             }+                                                           "xs"))))+                                               (Var+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          391+                                                          38+                                                          391+                                                          40+                                                    , srcInfoPoints = []+                                                    }+                                                  (UnQual+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             38+                                                             391+                                                             40+                                                       , srcInfoPoints = []+                                                       }+                                                     (Ident+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/DerivingVia.hs"+                                                                391+                                                                38+                                                                391+                                                                40+                                                          , srcInfoPoints = []+                                                          }+                                                        "ys"))))))+                                      Nothing+                                  , Match+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 18+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 7+                                           , srcInfoPoints = []+                                           }+                                         "go")+                                      [ PList+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 392 8 392 10+                                            , srcInfoPoints =+                                                [ SrcSpan+                                                    "tests/examples/DerivingVia.hs" 392 8 392 9+                                                , SrcSpan+                                                    "tests/examples/DerivingVia.hs" 392 9 392 10+                                                ]+                                            }+                                          []+                                      , PVar+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 392 11 392 13+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 392 11 392 13+                                               , srcInfoPoints = []+                                               }+                                             "ys")+                                      ]+                                      (UnGuardedRhs+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 392 14 392 18+                                           , srcInfoPoints =+                                               [ SrcSpan+                                                   "tests/examples/DerivingVia.hs" 392 14 392 15+                                               ]+                                           }+                                         (Var+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 392 16 392 18+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 392 16 392 18+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          392+                                                          16+                                                          392+                                                          18+                                                    , srcInfoPoints = []+                                                    }+                                                  "ys"))))+                                      Nothing+                                  , Match+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 18+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 7+                                           , srcInfoPoints = []+                                           }+                                         "go")+                                      [ PVar+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 393 8 393 10+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 393 8 393 10+                                               , srcInfoPoints = []+                                               }+                                             "xs")+                                      , PList+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 393 11 393 13+                                            , srcInfoPoints =+                                                [ SrcSpan+                                                    "tests/examples/DerivingVia.hs" 393 11 393 12+                                                , SrcSpan+                                                    "tests/examples/DerivingVia.hs" 393 12 393 13+                                                ]+                                            }+                                          []+                                      ]+                                      (UnGuardedRhs+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 393 14 393 18+                                           , srcInfoPoints =+                                               [ SrcSpan+                                                   "tests/examples/DerivingVia.hs" 393 14 393 15+                                               ]+                                           }+                                         (Var+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 393 16 393 18+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 393 16 393 18+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          393+                                                          16+                                                          393+                                                          18+                                                    , srcInfoPoints = []+                                                    }+                                                  "xs"))))+                                      Nothing+                                  ]+                              ]))+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 395 1 401 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 9+                , SrcSpan "tests/examples/DerivingVia.hs" 395 25 395 30+                , SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 3+                , SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 3+                , SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 3+                , SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 3+                , SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+                           , srcInfoPoints = []+                           }+                         "Maybe")))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7+                            , srcInfoPoints = []+                            }+                          "zero"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 17+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 9 ]+                         }+                       (Con+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+                                  , srcInfoPoints = []+                                  }+                                "Nothing"))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 44+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 9+                             , srcInfoPoints = []+                             }+                           "liftU2")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11+                                 , srcInfoPoints = []+                                 }+                               "f")+                        , PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 20+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 13+                                  , SrcSpan "tests/examples/DerivingVia.hs" 397 19 397 20+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 19+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17+                                       , srcInfoPoints = []+                                       }+                                     "Just"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19+                                        , srcInfoPoints = []+                                        }+                                      "a")+                               ])+                        , PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 29+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 22+                                  , SrcSpan "tests/examples/DerivingVia.hs" 397 28 397 29+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 28+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26+                                       , srcInfoPoints = []+                                       }+                                     "Just"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28+                                        , srcInfoPoints = []+                                        }+                                      "b")+                               ])+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 44+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 31 ]+                             }+                           (App+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 44+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+                                         , srcInfoPoints = []+                                         }+                                       "Just")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 44+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 38+                                       , SrcSpan "tests/examples/DerivingVia.hs" 397 43 397 44+                                       ]+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 43+                                      , srcInfoPoints = []+                                      }+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 41+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 397 38 397 39+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 397 38 397 39+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        397+                                                        38+                                                        397+                                                        39+                                                  , srcInfoPoints = []+                                                  }+                                                "f")))+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 397 40 397 41+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 397 40 397 41+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        397+                                                        40+                                                        397+                                                        41+                                                  , srcInfoPoints = []+                                                  }+                                                "a"))))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 397 42 397 43+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 397 42 397 43+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 397 42 397 43+                                               , srcInfoPoints = []+                                               }+                                             "b")))))))+                        Nothing+                    , Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 27+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 9+                             , srcInfoPoints = []+                             }+                           "liftU2")+                        [ PWildCard+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 398 10 398 11+                              , srcInfoPoints = []+                              }+                        , PApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+                                    , srcInfoPoints = []+                                    }+                                  "Nothing"))+                            []+                        , PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22+                                 , srcInfoPoints = []+                                 }+                               "ys")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 27+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 24 ]+                             }+                           (Var+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+                                      , srcInfoPoints = []+                                      }+                                    "ys"))))+                        Nothing+                    , Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 27+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 9+                             , srcInfoPoints = []+                             }+                           "liftU2")+                        [ PWildCard+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 399 10 399 11+                              , srcInfoPoints = []+                              }+                        , PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14+                                 , srcInfoPoints = []+                                 }+                               "xs")+                        , PApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+                                    , srcInfoPoints = []+                                    }+                                  "Nothing"))+                            []+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 27+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 24 ]+                             }+                           (Var+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+                                      , srcInfoPoints = []+                                      }+                                    "xs"))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 401 1 405 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 9+                , SrcSpan "tests/examples/DerivingVia.hs" 401 56 401 61+                , SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 3+                , SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 3+                , SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 55+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21+                                    , srcInfoPoints = []+                                    }+                                  "Applicative")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23+                                 , srcInfoPoints = []+                                 }+                               "f"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 55+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 55+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 37+                         , SrcSpan "tests/examples/DerivingVia.hs" 401 54 401 55+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 54+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+                                 , srcInfoPoints = []+                                 }+                               "WrapApplicative")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54+                              , srcInfoPoints = []+                              }+                            "f"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7+                            , srcInfoPoints = []+                            }+                          "zero"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 11 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 18+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+                                     , srcInfoPoints = []+                                     }+                                   "pure")))+                          (Lit+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18+                               , srcInfoPoints = []+                               }+                             (Int+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18+                                  , srcInfoPoints = []+                                  }+                                0+                                "0"))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9+                            , srcInfoPoints = []+                            }+                          "liftU2"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 11 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+                                  , srcInfoPoints = []+                                  }+                                "liftA2"))))+                    Nothing)+             ])+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 67+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 9+                , SrcSpan "tests/examples/DerivingVia.hs" 405 41 405 49+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 405 10 405 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 40+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 405 39 405 40+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 39+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+                                 , srcInfoPoints = []+                                 }+                               "WrapApplicative")))+                      (TyParen+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 39+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 32+                               , SrcSpan "tests/examples/DerivingVia.hs" 405 38 405 39+                               ]+                           }+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 38+                              , srcInfoPoints = []+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+                                     ]+                                 }+                               (Special+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+                                    , srcInfoPoints =+                                        [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+                                        , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+                                        , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+                                        ]+                                    }+                                  (FunCon+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+                                       , srcInfoPoints =+                                           [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+                                           , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+                                           , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+                                           ]+                                       })))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38+                                    , srcInfoPoints = []+                                    }+                                  "a"))))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 67+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 60+                         , SrcSpan "tests/examples/DerivingVia.hs" 405 66 405 67+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 66+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+                               , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+                               , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+                               ]+                           }+                         (Special+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+                                  , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+                                  , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+                                  ]+                              }+                            (FunCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+                                     ]+                                 })))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66+                              , srcInfoPoints = []+                              }+                            "a"))))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 66+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 9+                , SrcSpan "tests/examples/DerivingVia.hs" 406 41 406 49+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 406 10 406 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 39+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 406 38 406 39+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 38+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+                                 , srcInfoPoints = []+                                 }+                               "WrapApplicative")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+                                 , srcInfoPoints = []+                                 }+                               "Complex")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+                           , srcInfoPoints = []+                           }+                         "Complex")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 67+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 9+                , SrcSpan "tests/examples/DerivingVia.hs" 407 41 407 49+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 407 10 407 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 40+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 407 39 407 40+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 39+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+                                 , srcInfoPoints = []+                                 }+                               "WrapApplicative")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+                                 , srcInfoPoints = []+                                 }+                               "Identity")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+                           , srcInfoPoints = []+                           }+                         "Identity")))))+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 409 1 413 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 409 1 409 9+                , SrcSpan "tests/examples/DerivingVia.hs" 409 27 409 32+                , SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 3+                , SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 3+                , SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+                           , srcInfoPoints = []+                           }+                         "ZipList")))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7+                            , srcInfoPoints = []+                            }+                          "zero"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 9 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 20+                            , srcInfoPoints = []+                            }+                          (Con+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+                                     , srcInfoPoints = []+                                     }+                                   "ZipList")))+                          (List+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 19+                                   , SrcSpan "tests/examples/DerivingVia.hs" 410 19 410 20+                                   ]+                               }+                             [])))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 9+                             , srcInfoPoints = []+                             }+                           "liftU2")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11+                                 , srcInfoPoints = []+                                 }+                               "f")+                        , PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 24+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 13+                                  , SrcSpan "tests/examples/DerivingVia.hs" 411 23 411 24+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 23+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20+                                       , srcInfoPoints = []+                                       }+                                     "ZipList"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23+                                        , srcInfoPoints = []+                                        }+                                      "xs")+                               ])+                        , PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 37+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 26+                                  , SrcSpan "tests/examples/DerivingVia.hs" 411 36 411 37+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 36+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33+                                       , srcInfoPoints = []+                                       }+                                     "ZipList"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36+                                        , srcInfoPoints = []+                                        }+                                      "ys")+                               ])+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 64+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 39 ]+                             }+                           (App+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 64+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+                                         , srcInfoPoints = []+                                         }+                                       "ZipList")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 64+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 49+                                       , SrcSpan "tests/examples/DerivingVia.hs" 411 63 411 64+                                       ]+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 63+                                      , srcInfoPoints = []+                                      }+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 60+                                         , srcInfoPoints = []+                                         }+                                       (App+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 411 49 411 57+                                            , srcInfoPoints = []+                                            }+                                          (Var+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 411 49 411 55+                                               , srcInfoPoints = []+                                               }+                                             (UnQual+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        411+                                                        49+                                                        411+                                                        55+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           411+                                                           49+                                                           411+                                                           55+                                                     , srcInfoPoints = []+                                                     }+                                                   "liftU2")))+                                          (Var+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 411 56 411 57+                                               , srcInfoPoints = []+                                               }+                                             (UnQual+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        411+                                                        56+                                                        411+                                                        57+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           411+                                                           56+                                                           411+                                                           57+                                                     , srcInfoPoints = []+                                                     }+                                                   "f"))))+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 411 58 411 60+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 411 58 411 60+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        411+                                                        58+                                                        411+                                                        60+                                                  , srcInfoPoints = []+                                                  }+                                                "xs"))))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 411 61 411 63+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 411 61 411 63+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 411 61 411 63+                                               , srcInfoPoints = []+                                               }+                                             "ys")))))))+                        Nothing+                    ])+             ])+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 413 1 419 32+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 6+                , SrcSpan "tests/examples/DerivingVia.hs" 413 37 413 42+                , SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 3+                , SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 3+                , SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 3+                , SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 3+                , SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 3+                , SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 0+                ]+            }+          (Just+             (CxSingle+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+                  }+                (TypeA+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15+                                 , srcInfoPoints = []+                                 }+                               "Additive")))+                      (TyParen+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 24+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 17+                               , SrcSpan "tests/examples/DerivingVia.hs" 413 23 413 24+                               ]+                           }+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 23+                              , srcInfoPoints = []+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+                                       , srcInfoPoints = []+                                       }+                                     "Diff")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23+                                    , srcInfoPoints = []+                                    }+                                  "p"))))))))+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 36+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34+                     , srcInfoPoints = []+                     }+                   "Affine"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36+                     , srcInfoPoints = []+                     }+                   "p")))+          []+          (Just+             [ ClsTyFam+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 30+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 7 ]+                   }+                 (DHApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 14+                      , srcInfoPoints = []+                      }+                    (DHead+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12+                            , srcInfoPoints = []+                            }+                          "Diff"))+                    (UnkindedVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14+                            , srcInfoPoints = []+                            }+                          "p")))+                 (Just+                    (KindSig+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 30+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 17 ]+                         }+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 30+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 414 23 414 25 ]+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+                                     , srcInfoPoints = []+                                     }+                                   "Type")))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+                                     , srcInfoPoints = []+                                     }+                                   "Type"))))))+                 Nothing+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 416 4 416 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 416 7 416 8+                              ]+                          }+                        ".-."+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 43+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 15+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 416 12 416 15+                                              , srcInfoPoints = []+                                              }+                                            "Num")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 43+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 416 25 416 27 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 24+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22+                                     , srcInfoPoints = []+                                     }+                                   "p"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 43+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 416 32 416 34 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29+                                        , srcInfoPoints = []+                                        }+                                      "p"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 43+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 41+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 416 35 416 39+                                              , srcInfoPoints = []+                                              }+                                            "Diff")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41+                                           , srcInfoPoints = []+                                           }+                                         "p")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43+                                        , srcInfoPoints = []+                                        }+                                      "a")))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 417 4 417 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 417 7 417 8+                              ]+                          }+                        ".+^"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 43+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 15+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 417 12 417 15+                                              , srcInfoPoints = []+                                              }+                                            "Num")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 43+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 417 25 417 27 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 24+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22+                                     , srcInfoPoints = []+                                     }+                                   "p"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 43+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 417 37 417 39 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 36+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 34+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 417 28 417 32+                                              , srcInfoPoints = []+                                              }+                                            "Diff")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34+                                           , srcInfoPoints = []+                                           }+                                         "p")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 43+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41+                                        , srcInfoPoints = []+                                        }+                                      "p"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43+                                        , srcInfoPoints = []+                                        }+                                      "a")))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 418 4 418 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 418 7 418 8+                              ]+                          }+                        ".-^"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 43+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 15+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 418 12 418 15+                                              , srcInfoPoints = []+                                              }+                                            "Num")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 43+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 418 25 418 27 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 24+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22+                                     , srcInfoPoints = []+                                     }+                                   "p"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 43+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 418 37 418 39 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 36+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 34+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 418 28 418 32+                                              , srcInfoPoints = []+                                              }+                                            "Diff")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34+                                           , srcInfoPoints = []+                                           }+                                         "p")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 43+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41+                                        , srcInfoPoints = []+                                        }+                                      "p"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43+                                        , srcInfoPoints = []+                                        }+                                      "a")))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+                      , srcInfoPoints = []+                      }+                    [ InfixMatch+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+                          , srcInfoPoints = []+                          }+                        (PVar+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4+                                , srcInfoPoints = []+                                }+                              "p"))+                        (Symbol+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 5 419 8+                             , srcInfoPoints = []+                             }+                           ".-^")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10+                                 , srcInfoPoints = []+                                 }+                               "v")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 32+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 12 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 32+                                , srcInfoPoints = []+                                }+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+                                         , srcInfoPoints = []+                                         }+                                       "p")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+                                         , srcInfoPoints = []+                                         }+                                       ".+^")))+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 32+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 30+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 23+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 419 19 419 23+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 419 19 419 23+                                               , srcInfoPoints = []+                                               }+                                             "fmap")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 419 24 419 30+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 419 24 419 30+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 419 24 419 30+                                               , srcInfoPoints = []+                                               }+                                             "negate"))))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 419 31 419 32+                                            , srcInfoPoints = []+                                            }+                                          "v"))))))+                        Nothing+                    ])+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 49+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 425 26 425 27 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 25+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 23+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21+                        , srcInfoPoints = []+                        }+                      "WrapAdditive"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23+                        , srcInfoPoints = []+                        }+                      "f")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 43+                      , srcInfoPoints = []+                      }+                    "WrappedAdditive")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 49+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 45+                           , SrcSpan "tests/examples/DerivingVia.hs" 425 48 425 49+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 48+                          , srcInfoPoints = []+                          }+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46+                                , srcInfoPoints = []+                                }+                              "f"))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          []+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 427 1 435 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 427 1 427 9+                , SrcSpan "tests/examples/DerivingVia.hs" 427 48 427 53+                , SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 3+                , SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 3+                , SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 3+                , SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 3+                , SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 47+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18+                                    , srcInfoPoints = []+                                    }+                                  "Additive")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20+                                 , srcInfoPoints = []+                                 }+                               "f"))))))              (IHApp                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/DerivingVia2.hs.parser.golden view
@@ -504,72 +504,94 @@                          , SrcSpan "tests/examples/DerivingVia2.hs" 20 39 20 41                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 22+                                SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 22+                                   SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24                                , srcInfoPoints = []                                }-                             "Applicative"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia2.hs" 20 23 20 24-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia2.hs" 20 23 20 24-                                , srcInfoPoints = []-                                }-                              "f")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 22+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 20 23 20 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 20 23 20 24+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 35+                                SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 35+                                   SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37                                , srcInfoPoints = []                                }-                             "Semigroup"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia2.hs" 20 36 20 37-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia2.hs" 20 36 20 37-                                , srcInfoPoints = []-                                }-                              "a")-                       ]+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 35+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 35+                                     , srcInfoPoints = []+                                     }+                                   "Semigroup")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 20 36 20 37+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 20 36 20 37+                                  , srcInfoPoints = []+                                  }+                                "a")))                    ]))              (IHApp                 SrcSpanInfo@@ -937,105 +959,138 @@                          , SrcSpan "tests/examples/DerivingVia2.hs" 25 16 25 18                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 31+                                SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 31+                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33                                , srcInfoPoints = []                                }-                             "Applicative"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia2.hs" 24 32 24 33-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia2.hs" 24 32 24 33-                                , srcInfoPoints = []-                                }-                              "f")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 31+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 32 24 33+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 24 32 24 33+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 46+                                SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 46+                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48                                , srcInfoPoints = []                                }-                             "Applicative"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia2.hs" 24 47 24 48-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia2.hs" 24 47 24 48-                                , srcInfoPoints = []-                                }-                              "g")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 46+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 46+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 47 24 48+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 24 47 24 48+                                  , srcInfoPoints = []+                                  }+                                "g")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 59+                                SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 59+                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61                                , srcInfoPoints = []                                }-                             "Semigroup"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/DerivingVia2.hs" 24 60 24 61-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/DerivingVia2.hs" 24 60 24 61-                                , srcInfoPoints = []-                                }-                              "a")-                       ]+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 59+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 59+                                     , srcInfoPoints = []+                                     }+                                   "Semigroup")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 60 24 61+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 24 60 24 61+                                  , srcInfoPoints = []+                                  }+                                "a")))                    ]))              (IHApp                 SrcSpanInfo
tests/examples/Directory.hs.parser.golden view
@@ -25159,7 +25159,7 @@                                                         "tests/examples/Directory.hs" 766 54 766 56                                                     ]                                                 }-                                              (ClassA+                                              (TypeA                                                  SrcSpanInfo                                                    { srcInfoSpan =                                                        SrcSpan@@ -25173,7 +25173,7 @@                                                            56                                                        ]                                                    }-                                                 (UnQual+                                                 (TyApp                                                     SrcSpanInfo                                                       { srcInfoSpan =                                                           SrcSpan@@ -25181,10 +25181,17 @@                                                             766                                                             47                                                             766-                                                            51-                                                      , srcInfoPoints = []+                                                            56+                                                      , srcInfoPoints =+                                                          [ SrcSpan+                                                              "tests/examples/Directory.hs"+                                                              766+                                                              54+                                                              766+                                                              56+                                                          ]                                                       }-                                                    (Ident+                                                    (TyCon                                                        SrcSpanInfo                                                          { srcInfoSpan =                                                              SrcSpan@@ -25192,34 +25199,62 @@                                                                766                                                                47                                                                766-                                                               51+                                                               56+                                                         , srcInfoPoints =+                                                             [ SrcSpan+                                                                 "tests/examples/Directory.hs"+                                                                 766+                                                                 54+                                                                 766+                                                                 56+                                                             ]+                                                         }+                                                       (UnQual+                                                          SrcSpanInfo+                                                            { srcInfoSpan =+                                                                SrcSpan+                                                                  "tests/examples/Directory.hs"+                                                                  766+                                                                  47+                                                                  766+                                                                  51+                                                            , srcInfoPoints = []+                                                            }+                                                          (Ident+                                                             SrcSpanInfo+                                                               { srcInfoSpan =+                                                                   SrcSpan+                                                                     "tests/examples/Directory.hs"+                                                                     766+                                                                     47+                                                                     766+                                                                     51+                                                               , srcInfoPoints = []+                                                               }+                                                             "Real")))+                                                    (TyVar+                                                       SrcSpanInfo+                                                         { srcInfoSpan =+                                                             SrcSpan+                                                               "tests/examples/Directory.hs"+                                                               766+                                                               52+                                                               766+                                                               53                                                          , srcInfoPoints = []                                                          }-                                                       "Real"))-                                                 [ TyVar-                                                     SrcSpanInfo-                                                       { srcInfoSpan =-                                                           SrcSpan-                                                             "tests/examples/Directory.hs"-                                                             766-                                                             52-                                                             766-                                                             53-                                                       , srcInfoPoints = []-                                                       }-                                                     (Ident-                                                        SrcSpanInfo-                                                          { srcInfoSpan =-                                                              SrcSpan-                                                                "tests/examples/Directory.hs"-                                                                766-                                                                52-                                                                766-                                                                53-                                                          , srcInfoPoints = []-                                                          }-                                                        "a")-                                                 ])))+                                                       (Ident+                                                          SrcSpanInfo+                                                            { srcInfoSpan =+                                                                SrcSpan+                                                                  "tests/examples/Directory.hs"+                                                                  766+                                                                  52+                                                                  766+                                                                  53+                                                            , srcInfoPoints = []+                                                            }+                                                          "a"))))))                                         (TyFun                                            SrcSpanInfo                                              { srcInfoSpan =
tests/examples/EqualityConstraints1.hs.parser.golden view
@@ -61,47 +61,60 @@                      { srcInfoSpan =                          SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18                      , srcInfoPoints =-                         [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18 ]+                         [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+                         , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+                         ]                      }-                   (EqualP+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 15+                            SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18                         , srcInfoPoints =-                            [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11 ]+                            [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+                            , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+                            ]                         }-                      (TyVar+                      (TyEquals                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+                               , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+                               ]                            }-                         (Ident+                         (TyVar                             SrcSpanInfo                               { srcInfoSpan =                                   SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9                               , srcInfoPoints = []                               }-                            "a"))-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15-                           , srcInfoPoints = []-                           }-                         (UnQual+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9+                                 , srcInfoPoints = []+                                 }+                               "a"))+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =                                   SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15                               , srcInfoPoints = []                               }-                            (Ident+                            (UnQual                                SrcSpanInfo                                  { srcInfoSpan =                                      SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15                                  , srcInfoPoints = []                                  }-                               "Int"))))))+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15+                                    , srcInfoPoints = []+                                    }+                                  "Int")))))))              (TyVar                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/Fixity3.hs.parser.golden view
@@ -88,37 +88,51 @@                                { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28                                , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]                                }-                             (ClassA+                             (TypeA                                 SrcSpanInfo                                   { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28                                   , srcInfoPoints =                                       [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]                                   }-                                (UnQual+                                (TyApp                                    SrcSpanInfo-                                     { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23-                                     , srcInfoPoints = []+                                     { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]                                      }-                                   (Ident+                                   (TyCon                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+                                            SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+                                              , srcInfoPoints = []+                                              }+                                            "Applicative")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25                                         , srcInfoPoints = []                                         }-                                      "Applicative"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25-                                         , srcInfoPoints = []-                                         }-                                       "f")-                                ])))+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25+                                           , srcInfoPoints = []+                                           }+                                         "f"))))))                        (TyFun                           SrcSpanInfo                             { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 29 2 53
tests/examples/FlexibleContextsWithoutVars.hs.parser.golden view
@@ -64,7 +64,7 @@                          [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18                          ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18@@ -72,27 +72,36 @@                             [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18                             ]                         }-                      (Qual+                      (TyCon                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18+                               ]                            }-                         (ModuleName-                            SrcSpanInfo-                              { srcInfoSpan =-                                  SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15-                              , srcInfoPoints = []-                              }-                            "Log")-                         (Ident+                         (Qual                             SrcSpanInfo                               { srcInfoSpan =                                   SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15                               , srcInfoPoints = []                               }-                            "Stack"))-                      [])))+                            (ModuleName+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15+                                 , srcInfoPoints = []+                                 }+                               "Log")+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15+                                 , srcInfoPoints = []+                                 }+                               "Stack"))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/ForallInInstance.hs.parser.golden view
@@ -95,40 +95,53 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32                         , srcInfoPoints =                             [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+                                  SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+                                    , srcInfoPoints = []+                                    }+                                  "MyClass")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29                               , srcInfoPoints = []                               }-                            "MyClass"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29-                               , srcInfoPoints = []-                               }-                             "a")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29+                                 , srcInfoPoints = []+                                 }+                               "a"))))))              (IHApp                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/GenericTree.hs.parser.golden view
@@ -106,34 +106,46 @@                             , SrcSpan "tests/examples/GenericTree.hs" 6 24 6 26                             ]                         }-                      (ClassA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22                            , srcInfoPoints = []                            }-                         (UnQual+                         (TyApp                             SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+                              { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22                               , srcInfoPoints = []                               }-                            (Ident+                            (TyCon                                SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+                                 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22                                  , srcInfoPoints = []                                  }-                               "Typeable"))-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22-                                  , srcInfoPoints = []-                                  }-                                "a")-                         ]))))+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+                                       , srcInfoPoints = []+                                       }+                                     "Typeable")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 27 6 83@@ -217,39 +229,51 @@                                       , SrcSpan "tests/examples/GenericTree.hs" 6 65 6 67                                       ]                                   }-                                (ClassA+                                (TypeA                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63                                      , srcInfoPoints = []                                      }-                                   (UnQual+                                   (TyApp                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61+                                            SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63                                         , srcInfoPoints = []                                         }-                                      (Ident+                                      (TyCon                                          SrcSpanInfo                                            { srcInfoSpan =-                                               SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61+                                               SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63                                            , srcInfoPoints = []                                            }-                                         "Typeable"))-                                   [ TyVar-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63-                                            , srcInfoPoints = []-                                            }-                                          "b")-                                   ]))))+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/GenericTree.hs" 6 53 6 61+                                                 , srcInfoPoints = []+                                                 }+                                               "Typeable")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63+                                              , srcInfoPoints = []+                                              }+                                            "b")))))))                        (TyFun                           SrcSpanInfo                             { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 68 6 82
tests/examples/InfixTypeMinus.hs.parser.golden view
@@ -186,88 +186,98 @@                                 , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 50 5 52                                 ]                             }-                          (EqualP+                          (TypeA                              SrcSpanInfo                                { srcInfoSpan =                                    SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 48                                , srcInfoPoints =                                    [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 41 5 42 ]                                }-                             (TyVar+                             (TyEquals                                 SrcSpanInfo                                   { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40-                                  , srcInfoPoints = []+                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 48+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 41 5 42 ]                                   }-                                (Ident+                                (TyVar                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40                                      , srcInfoPoints = []                                      }-                                   "m"))-                             (TyParen-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 48-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 44-                                      , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 47 5 48-                                      ]-                                  }-                                (TyInfix+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40+                                        , srcInfoPoints = []+                                        }+                                      "m"))+                                (TyParen                                    SrcSpanInfo                                      { srcInfoSpan =-                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 47-                                     , srcInfoPoints = []+                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 48+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 44+                                         , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 47 5 48+                                         ]                                      }-                                   (TyVar+                                   (TyInfix                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 45+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 47                                         , srcInfoPoints = []                                         }-                                      (Ident+                                      (TyVar                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 45                                            , srcInfoPoints = []                                            }-                                         "n"))-                                   (UnpromotedName-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 5 45 5 46-                                        , srcInfoPoints = []-                                        }-                                      (UnQual+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 5 44 5 45+                                              , srcInfoPoints = []+                                              }+                                            "n"))+                                      (UnpromotedName                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 5 45 5 46                                            , srcInfoPoints = []                                            }-                                         (Symbol+                                         (UnQual                                             SrcSpanInfo                                               { srcInfoSpan =                                                   SrcSpan                                                     "tests/examples/InfixTypeMinus.hs" 5 45 5 46                                               , srcInfoPoints = []                                               }-                                            "-")))-                                   (TyPromoted-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 5 46 5 47-                                        , srcInfoPoints = []-                                        }-                                      (PromotedInteger+                                            (Symbol+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/InfixTypeMinus.hs" 5 45 5 46+                                                 , srcInfoPoints = []+                                                 }+                                               "-")))+                                      (TyPromoted                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 5 46 5 47                                            , srcInfoPoints = []                                            }-                                         1-                                         "1"))))))))+                                         (PromotedInteger+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 5 46 5 47+                                              , srcInfoPoints = []+                                              }+                                            1+                                            "1")))))))))                  (TyFun                     SrcSpanInfo                       { srcInfoSpan =@@ -492,88 +502,98 @@                                 , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 50 6 52                                 ]                             }-                          (EqualP+                          (TypeA                              SrcSpanInfo                                { srcInfoSpan =                                    SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 48                                , srcInfoPoints =                                    [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 45 6 46 ]                                }-                             (TyParen+                             (TyEquals                                 SrcSpanInfo                                   { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 44+                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 48                                   , srcInfoPoints =-                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 40-                                      , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 43 6 44-                                      ]+                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 45 6 46 ]                                   }-                                (TyInfix+                                (TyParen                                    SrcSpanInfo                                      { srcInfoSpan =-                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 43-                                     , srcInfoPoints = []+                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 44+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 40+                                         , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 43 6 44+                                         ]                                      }-                                   (TyVar+                                   (TyInfix                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 41+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 43                                         , srcInfoPoints = []                                         }-                                      (Ident+                                      (TyVar                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 41                                            , srcInfoPoints = []                                            }-                                         "n"))-                                   (UnpromotedName-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 6 41 6 42-                                        , srcInfoPoints = []-                                        }-                                      (UnQual+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 6 40 6 41+                                              , srcInfoPoints = []+                                              }+                                            "n"))+                                      (UnpromotedName                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 6 41 6 42                                            , srcInfoPoints = []                                            }-                                         (Symbol+                                         (UnQual                                             SrcSpanInfo                                               { srcInfoSpan =                                                   SrcSpan                                                     "tests/examples/InfixTypeMinus.hs" 6 41 6 42                                               , srcInfoPoints = []                                               }-                                            "-")))-                                   (TyPromoted-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 6 42 6 43-                                        , srcInfoPoints = []-                                        }-                                      (PromotedInteger+                                            (Symbol+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/InfixTypeMinus.hs" 6 41 6 42+                                                 , srcInfoPoints = []+                                                 }+                                               "-")))+                                      (TyPromoted                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 6 42 6 43                                            , srcInfoPoints = []                                            }-                                         1-                                         "1"))))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48-                                  , srcInfoPoints = []-                                  }-                                (Ident+                                         (PromotedInteger+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 6 42 6 43+                                              , srcInfoPoints = []+                                              }+                                            1+                                            "1"))))+                                (TyVar                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48                                      , srcInfoPoints = []                                      }-                                   "m"))))))+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48+                                        , srcInfoPoints = []+                                        }+                                      "m")))))))                  (TyFun                     SrcSpanInfo                       { srcInfoSpan =@@ -798,88 +818,98 @@                                 , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 50 7 52                                 ]                             }-                          (EqualP+                          (TypeA                              SrcSpanInfo                                { srcInfoSpan =                                    SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 48                                , srcInfoPoints =                                    [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 45 7 46 ]                                }-                             (TyParen+                             (TyEquals                                 SrcSpanInfo                                   { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 44+                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 48                                   , srcInfoPoints =-                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 40-                                      , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 43 7 44-                                      ]+                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 45 7 46 ]                                   }-                                (TyInfix+                                (TyParen                                    SrcSpanInfo                                      { srcInfoSpan =-                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 43-                                     , srcInfoPoints = []+                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 44+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 40+                                         , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 43 7 44+                                         ]                                      }-                                   (TyVar+                                   (TyInfix                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 41+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 43                                         , srcInfoPoints = []                                         }-                                      (Ident+                                      (TyVar                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 41                                            , srcInfoPoints = []                                            }-                                         "m"))-                                   (UnpromotedName-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 7 41 7 42-                                        , srcInfoPoints = []-                                        }-                                      (UnQual+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 7 40 7 41+                                              , srcInfoPoints = []+                                              }+                                            "m"))+                                      (UnpromotedName                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 7 41 7 42                                            , srcInfoPoints = []                                            }-                                         (Symbol+                                         (UnQual                                             SrcSpanInfo                                               { srcInfoSpan =                                                   SrcSpan                                                     "tests/examples/InfixTypeMinus.hs" 7 41 7 42                                               , srcInfoPoints = []                                               }-                                            "+")))-                                   (TyPromoted-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 7 42 7 43-                                        , srcInfoPoints = []-                                        }-                                      (PromotedInteger+                                            (Symbol+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/InfixTypeMinus.hs" 7 41 7 42+                                                 , srcInfoPoints = []+                                                 }+                                               "+")))+                                      (TyPromoted                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 7 42 7 43                                            , srcInfoPoints = []                                            }-                                         1-                                         "1"))))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48-                                  , srcInfoPoints = []-                                  }-                                (Ident+                                         (PromotedInteger+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 7 42 7 43+                                              , srcInfoPoints = []+                                              }+                                            1+                                            "1"))))+                                (TyVar                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48                                      , srcInfoPoints = []                                      }-                                   "n"))))))+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48+                                        , srcInfoPoints = []+                                        }+                                      "n")))))))                  (TyFun                     SrcSpanInfo                       { srcInfoSpan =@@ -1104,88 +1134,98 @@                                 , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 50 8 52                                 ]                             }-                          (EqualP+                          (TypeA                              SrcSpanInfo                                { srcInfoSpan =                                    SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 48                                , srcInfoPoints =                                    [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 41 8 42 ]                                }-                             (TyVar+                             (TyEquals                                 SrcSpanInfo                                   { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40-                                  , srcInfoPoints = []+                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 48+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 41 8 42 ]                                   }-                                (Ident+                                (TyVar                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40                                      , srcInfoPoints = []                                      }-                                   "n"))-                             (TyParen-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 48-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 44-                                      , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 47 8 48-                                      ]-                                  }-                                (TyInfix+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40+                                        , srcInfoPoints = []+                                        }+                                      "n"))+                                (TyParen                                    SrcSpanInfo                                      { srcInfoSpan =-                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 47-                                     , srcInfoPoints = []+                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 48+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 44+                                         , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 47 8 48+                                         ]                                      }-                                   (TyVar+                                   (TyInfix                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 45+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 47                                         , srcInfoPoints = []                                         }-                                      (Ident+                                      (TyVar                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 45                                            , srcInfoPoints = []                                            }-                                         "m"))-                                   (UnpromotedName-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 8 45 8 46-                                        , srcInfoPoints = []-                                        }-                                      (UnQual+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 8 44 8 45+                                              , srcInfoPoints = []+                                              }+                                            "m"))+                                      (UnpromotedName                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 8 45 8 46                                            , srcInfoPoints = []                                            }-                                         (Symbol+                                         (UnQual                                             SrcSpanInfo                                               { srcInfoSpan =                                                   SrcSpan                                                     "tests/examples/InfixTypeMinus.hs" 8 45 8 46                                               , srcInfoPoints = []                                               }-                                            "+")))-                                   (TyPromoted-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 8 46 8 47-                                        , srcInfoPoints = []-                                        }-                                      (PromotedInteger+                                            (Symbol+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/InfixTypeMinus.hs" 8 45 8 46+                                                 , srcInfoPoints = []+                                                 }+                                               "+")))+                                      (TyPromoted                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 8 46 8 47                                            , srcInfoPoints = []                                            }-                                         1-                                         "1"))))))))+                                         (PromotedInteger+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 8 46 8 47+                                              , srcInfoPoints = []+                                              }+                                            1+                                            "1")))))))))                  (TyFun                     SrcSpanInfo                       { srcInfoSpan =
tests/examples/InjectiveTypeFamilies.hs.parser.golden view
@@ -15467,40 +15467,53 @@                             , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 34 254 36                             ]                         }-                      (ClassA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan =                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31                            , srcInfoPoints = []                            }-                         (UnQual+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31                               , srcInfoPoints = []                               }-                            (Ident+                            (TyCon                                SrcSpanInfo                                  { srcInfoSpan =-                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31                                  , srcInfoPoints = []                                  }-                               "Manifold'"))-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan-                                        "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31-                                  , srcInfoPoints = []-                                  }-                                "a")-                         ]))))+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan+                                          "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan+                                             "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+                                       , srcInfoPoints = []+                                       }+                                     "Manifold'")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan+                                          "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/MultiCtxt.hs.parser.golden view
@@ -72,35 +72,46 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23                         , srcInfoPoints =                             [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18-                           , srcInfoPoints = []+                           { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+                              { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+                                    , srcInfoPoints = []+                                    }+                                  "Eq")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20                               , srcInfoPoints = []                               }-                            "Eq"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20-                               , srcInfoPoints = []-                               }-                             "a")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20+                                 , srcInfoPoints = []+                                 }+                               "a"))))))              (TyParen                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 24 5 37@@ -122,35 +133,49 @@                            , srcInfoPoints =                                [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]                            }-                         (ClassA+                         (TypeA                             SrcSpanInfo                               { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34                               , srcInfoPoints =                                   [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]                               }-                            (UnQual+                            (TyApp                                SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29-                                 , srcInfoPoints = []+                                 { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]                                  }-                               (Ident+                               (TyCon                                   SrcSpanInfo-                                    { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+                                    { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34+                                    , srcInfoPoints =+                                        [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]+                                    }+                                  (UnQual+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+                                       , srcInfoPoints = []+                                       }+                                     (Ident+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+                                          , srcInfoPoints = []+                                          }+                                        "Show")))+                               (TyVar+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31                                     , srcInfoPoints = []                                     }-                                  "Show"))-                            [ TyVar-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31-                                     , srcInfoPoints = []-                                     }-                                   "a")-                            ])))+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31+                                       , srcInfoPoints = []+                                       }+                                     "a"))))))                    (TyVar                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 35 5 36
tests/examples/MultiParam.hs.parser.golden view
@@ -56,46 +56,64 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25                         , srcInfoPoints =                             [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18-                           , srcInfoPoints = []+                           { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]                            }-                         (Ident+                         (TyApp                             SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18+                              { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18+                                       , srcInfoPoints = []+                                       }+                                     "MonadError")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20+                                    , srcInfoPoints = []+                                    }+                                  "e")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22                               , srcInfoPoints = []                               }-                            "MonadError"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20-                               , srcInfoPoints = []-                               }-                             "e")-                      , TyVar-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22-                               , srcInfoPoints = []-                               }-                             "m")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22+                                 , srcInfoPoints = []+                                 }+                               "m"))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 26 3 35
+ tests/examples/NoStartNumIdents.hs view
@@ -0,0 +1,1 @@+1a = ()
+ tests/examples/NoStartNumIdents.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.parser.golden view
@@ -0,0 +1,3 @@+ParseFailed+  (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1)+  "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
tests/examples/OverloadedLabels.hs.parser.golden view
@@ -425,54 +425,74 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25                         , srcInfoPoints =                             [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]                            }-                         (Ident+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13+                                  SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13+                                       , srcInfoPoints = []+                                       }+                                     "IsLabel")))+                            (TyPromoted+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20+                                 , srcInfoPoints = []+                                 }+                               (PromotedString+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20+                                    , srcInfoPoints = []+                                    }+                                  "true"+                                  "true")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22                               , srcInfoPoints = []                               }-                            "IsLabel"))-                      [ TyPromoted-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20-                            , srcInfoPoints = []-                            }-                          (PromotedString-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20-                               , srcInfoPoints = []-                               }-                             "true"-                             "true")-                      , TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22-                               , srcInfoPoints = []-                               }-                             "t")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22+                                 , srcInfoPoints = []+                                 }+                               "t"))))))              (TyVar                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/PartialSignatures.hs.parser.golden view
@@ -4024,14 +4024,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 51 10 51 14                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 51 10 51 14+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ]+                           }+                         Nothing))))              (TyWildCard                 SrcSpanInfo                   { srcInfoSpan =@@ -4110,14 +4117,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 55 10 55 14                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 55 10 55 14+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ]+                           }+                         Nothing))))              (TyWildCard                 SrcSpanInfo                   { srcInfoSpan =@@ -4440,47 +4454,60 @@                      { srcInfoSpan =                          SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19                      , srcInfoPoints =-                         [ SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19 ]+                         [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+                         , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+                         ]                      }-                   (EqualP+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 16+                            SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19                         , srcInfoPoints =-                            [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11 ]+                            [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+                            , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+                            ]                         }-                      (TyVar+                      (TyEquals                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+                               , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+                               ]                            }-                         (Ident+                         (TyVar                             SrcSpanInfo                               { srcInfoSpan =                                   SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9                               , srcInfoPoints = []                               }-                            "a"))-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16-                           , srcInfoPoints = []-                           }-                         (UnQual+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9+                                 , srcInfoPoints = []+                                 }+                               "a"))+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =                                   SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16                               , srcInfoPoints = []                               }-                            (Ident+                            (UnQual                                SrcSpanInfo                                  { srcInfoSpan =                                      SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16                                  , srcInfoPoints = []                                  }-                               "Bool"))))))+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16+                                    , srcInfoPoints = []+                                    }+                                  "Bool")))))))              (TyTuple                 SrcSpanInfo                   { srcInfoSpan =@@ -5765,14 +5792,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 82 13 82 17                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 82 13 82 17+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ]+                           }+                         Nothing))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =@@ -6093,46 +6127,63 @@                          , SrcSpan "tests/examples/PartialSignatures.hs" 85 25 85 27                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+                                SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+                                   SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20                                , srcInfoPoints = []                                }-                             "Show"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , WildCardA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+                                     , srcInfoPoints = []+                                     }+                                   "Show")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 85 22 85 23                          , srcInfoPoints = []                          }-                       Nothing+                       (TyWildCard+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PartialSignatures.hs" 85 22 85 23+                            , srcInfoPoints = []+                            }+                          Nothing)                    ]))              (TyFun                 SrcSpanInfo@@ -6294,79 +6345,107 @@                          , SrcSpan "tests/examples/PartialSignatures.hs" 88 33 88 35                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+                                SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+                                   SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20                                , srcInfoPoints = []                                }-                             "Show"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+                                     , srcInfoPoints = []+                                     }+                                   "Show")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+                                SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+                                   SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28                                , srcInfoPoints = []                                }-                             "Enum"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , WildCardA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+                                     , srcInfoPoints = []+                                     }+                                   "Enum")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 88 30 88 31                          , srcInfoPoints = []                          }-                       Nothing+                       (TyWildCard+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PartialSignatures.hs" 88 30 88 31+                            , srcInfoPoints = []+                            }+                          Nothing)                    ]))              (TyFun                 SrcSpanInfo@@ -6527,46 +6606,63 @@                          , SrcSpan "tests/examples/PartialSignatures.hs" 91 23 91 25                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+                                SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+                                   SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18                                , srcInfoPoints = []                                }-                             "Eq"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , WildCardA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 91 20 91 21                          , srcInfoPoints = []                          }-                       Nothing+                       (TyWildCard+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PartialSignatures.hs" 91 20 91 21+                            , srcInfoPoints = []+                            }+                          Nothing)                    ]))              (TyFun                 SrcSpanInfo@@ -6729,112 +6825,151 @@                          , SrcSpan "tests/examples/PartialSignatures.hs" 94 39 94 41                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+                                SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18                                , srcInfoPoints = []                                }-                             "Eq"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+                                SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26                                , srcInfoPoints = []                                }-                             "Enum"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+                                     , srcInfoPoints = []+                                     }+                                   "Enum")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+                                SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34                                , srcInfoPoints = []                                }-                             "Show"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , WildCardA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+                                     , srcInfoPoints = []+                                     }+                                   "Show")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 94 36 94 37                          , srcInfoPoints = []                          }-                       Nothing+                       (TyWildCard+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PartialSignatures.hs" 94 36 94 37+                            , srcInfoPoints = []+                            }+                          Nothing)                    ]))              (TyFun                 SrcSpanInfo@@ -6991,14 +7126,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 98 8 98 12                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 98 8 98 12+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ]+                           }+                         Nothing))))              (TyCon                 SrcSpanInfo                   { srcInfoSpan =@@ -7089,14 +7231,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 105 8 105 12                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 105 8 105 12+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ]+                           }+                         Nothing))))              (TyVar                 SrcSpanInfo                   { srcInfoSpan =@@ -7181,14 +7330,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 109 8 109 12                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 109 8 109 12+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ]+                           }+                         Nothing))))              (TyVar                 SrcSpanInfo                   { srcInfoSpan =@@ -10535,13 +10691,19 @@                             , SrcSpan "tests/examples/PartialSignatures.hs" 187 10 187 12                             ]                         }-                      (WildCardA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan =                                SrcSpan "tests/examples/PartialSignatures.hs" 187 7 187 8                            , srcInfoPoints = []                            }-                         Nothing))))+                         (TyWildCard+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PartialSignatures.hs" 187 7 187 8+                              , srcInfoPoints = []+                              }+                            Nothing)))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =@@ -12349,41 +12511,54 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+                                  SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+                                    , srcInfoPoints = []+                                    }+                                  "Show")))+                         (TyWildCard+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PartialSignatures.hs" 230 17 230 19                               , srcInfoPoints = []                               }-                            "Show"))-                      [ TyWildCard-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 230 17 230 19-                            , srcInfoPoints = []-                            }-                          (Just-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/PartialSignatures.hs" 230 18 230 19-                                  , srcInfoPoints = []-                                  }-                                "a"))-                      ])))+                            (Just+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PartialSignatures.hs" 230 18 230 19+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =@@ -13138,41 +13313,54 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+                                  SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+                                    , srcInfoPoints = []+                                    }+                                  "Show")))+                         (TyWildCard+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PartialSignatures.hs" 246 27 246 29                               , srcInfoPoints = []                               }-                            "Show"))-                      [ TyWildCard-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 246 27 246 29-                            , srcInfoPoints = []-                            }-                          (Just-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/PartialSignatures.hs" 246 28 246 29-                                  , srcInfoPoints = []-                                  }-                                "x"))-                      ])))+                            (Just+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PartialSignatures.hs" 246 28 246 29+                                    , srcInfoPoints = []+                                    }+                                  "x")))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =@@ -14211,14 +14399,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 261 7 261 11                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 261 7 261 11+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ]+                           }+                         Nothing))))              (TyWildCard                 SrcSpanInfo                   { srcInfoSpan =@@ -16075,47 +16270,64 @@                          , SrcSpan "tests/examples/PartialSignatures.hs" 289 21 289 23                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+                                SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+                                   SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16                                , srcInfoPoints = []                                }-                             "Show"))-                       [ TyWildCard-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 289 14 289 16-                             , srcInfoPoints = []-                             }-                           (Just-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/PartialSignatures.hs" 289 15 289 16-                                   , srcInfoPoints = []-                                   }-                                 "a"))-                       ]-                   , WildCardA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+                                     , srcInfoPoints = []+                                     }+                                   "Show")))+                          (TyWildCard+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 289 14 289 16+                               , srcInfoPoints = []+                               }+                             (Just+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 289 15 289 16+                                     , srcInfoPoints = []+                                     }+                                   "a"))))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 289 18 289 19                          , srcInfoPoints = []                          }-                       Nothing+                       (TyWildCard+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PartialSignatures.hs" 289 18 289 19+                            , srcInfoPoints = []+                            }+                          Nothing)                    ]))              (TyFun                 SrcSpanInfo
tests/examples/PatternSynonymSignatures.hs.parser.golden view
@@ -163,40 +163,53 @@                   , srcInfoPoints =                       [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]                   }-                (ClassA+                (TypeA                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]                      }-                   (UnQual+                   (TyApp                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20-                        , srcInfoPoints = []+                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]                         }-                      (Ident+                      (TyCon                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+                                 , srcInfoPoints = []+                                 }+                               "Show")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22                            , srcInfoPoints = []                            }-                         "Show"))-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22-                            , srcInfoPoints = []-                            }-                          "a")-                   ])))+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22+                              , srcInfoPoints = []+                              }+                            "a"))))))           Nothing           (Just              (CxSingle@@ -206,40 +219,53 @@                   , srcInfoPoints =                       [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]                   }-                (ClassA+                (TypeA                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]                      }-                   (UnQual+                   (TyApp                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30-                        , srcInfoPoints = []+                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]                         }-                      (Ident+                      (TyCon                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+                                 , srcInfoPoints = []+                                 }+                               "Show")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32                            , srcInfoPoints = []                            }-                         "Show"))-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32-                            , srcInfoPoints = []-                            }-                          "b")-                   ])))+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32+                              , srcInfoPoints = []+                              }+                            "b"))))))           (TyCon              SrcSpanInfo                { srcInfoSpan =@@ -286,7 +312,7 @@                       [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25                       ]                   }-                (ClassA+                (TypeA                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25@@ -294,33 +320,49 @@                          [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25                          ]                      }-                   (UnQual+                   (TyApp                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20-                        , srcInfoPoints = []+                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25+                            ]                         }-                      (Ident+                      (TyCon                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25+                               ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+                                 , srcInfoPoints = []+                                 }+                               "Show")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22                            , srcInfoPoints = []                            }-                         "Show"))-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22-                            , srcInfoPoints = []-                            }-                          "b")-                   ])))+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22+                              , srcInfoPoints = []+                              }+                            "b"))))))           Nothing           Nothing           (TyCon@@ -369,7 +411,7 @@                       [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25                       ]                   }-                (ClassA+                (TypeA                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25@@ -377,33 +419,49 @@                          [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25                          ]                      }-                   (UnQual+                   (TyApp                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20-                        , srcInfoPoints = []+                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25+                            ]                         }-                      (Ident+                      (TyCon                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25+                               ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+                                 , srcInfoPoints = []+                                 }+                               "Show")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22                            , srcInfoPoints = []                            }-                         "Show"))-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22-                            , srcInfoPoints = []-                            }-                          "b")-                   ])))+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22+                              , srcInfoPoints = []+                              }+                            "b"))))))           Nothing           (Just              (CxEmpty@@ -474,7 +532,7 @@                       [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31                       ]                   }-                (ClassA+                (TypeA                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31@@ -482,33 +540,49 @@                          [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31                          ]                      }-                   (UnQual+                   (TyApp                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26-                        , srcInfoPoints = []+                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31+                            ]                         }-                      (Ident+                      (TyCon                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31+                               ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+                                 , srcInfoPoints = []+                                 }+                               "Show")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28                            , srcInfoPoints = []                            }-                         "Show"))-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28-                            , srcInfoPoints = []-                            }-                          "b")-                   ])))+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28+                              , srcInfoPoints = []+                              }+                            "b"))))))           (TyCon              SrcSpanInfo                { srcInfoSpan =
tests/examples/PatternSynonyms3.hs.parser.golden view
@@ -624,39 +624,50 @@                          , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 34 16 36                          ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32                         , srcInfoPoints = []                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+                               SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32                            , srcInfoPoints = []                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32                               , srcInfoPoints = []                               }-                            "Show"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32-                               , srcInfoPoints = []-                               }-                             "a")-                      ]))))+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+                                    , srcInfoPoints = []+                                    }+                                  "Show")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32+                                 , srcInfoPoints = []+                                 }+                               "a")))))))           (TyFun              SrcSpanInfo                { srcInfoSpan =@@ -808,39 +819,50 @@                             , SrcSpan "tests/examples/PatternSynonyms3.hs" 19 15 19 17                             ]                         }-                      (ClassA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan =                                SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13                            , srcInfoPoints = []                            }-                         (UnQual+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13                               , srcInfoPoints = []                               }-                            (Ident+                            (TyCon                                SrcSpanInfo                                  { srcInfoSpan =-                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13                                  , srcInfoPoints = []                                  }-                               "Show"))-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13-                                  , srcInfoPoints = []-                                  }-                                "a")-                         ]))))+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+                                       , srcInfoPoints = []+                                       }+                                     "Show")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =@@ -1195,39 +1217,50 @@                             , SrcSpan "tests/examples/PatternSynonyms3.hs" 25 15 25 17                             ]                         }-                      (ClassA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan =                                SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13                            , srcInfoPoints = []                            }-                         (UnQual+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13                               , srcInfoPoints = []                               }-                            (Ident+                            (TyCon                                SrcSpanInfo                                  { srcInfoSpan =-                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13                                  , srcInfoPoints = []                                  }-                               "Show"))-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13-                                  , srcInfoPoints = []-                                  }-                                "a")-                         ]))))+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+                                       , srcInfoPoints = []+                                       }+                                     "Show")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =@@ -1850,70 +1883,81 @@                          , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 31 36 33                          ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29                         , srcInfoPoints = []                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+                               SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29                            , srcInfoPoints = []                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29                               , srcInfoPoints = []                               }-                            "Show"))-                      [ TyTuple-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 29-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 21-                                , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 22 36 23-                                , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 28 36 29-                                ]-                            }-                          Boxed-                          [ TyVar-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22-                                   , srcInfoPoints = []-                                   }-                                 "a")-                          , TyCon-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28-                                , srcInfoPoints = []-                                }-                              (UnQual-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28-                                   , srcInfoPoints = []-                                   }-                                 (Ident-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28-                                      , srcInfoPoints = []-                                      }-                                    "Bool"))-                          ]-                      ]))))+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+                                    , srcInfoPoints = []+                                    }+                                  "Show")))+                         (TyTuple+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 29+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 21+                                  , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 22 36 23+                                  , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 28 36 29+                                  ]+                              }+                            Boxed+                            [ TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22+                                     , srcInfoPoints = []+                                     }+                                   "a")+                            , TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+                                        , srcInfoPoints = []+                                        }+                                      "Bool"))+                            ]))))))           Nothing           Nothing           (TyFun
+ tests/examples/QuantifiedConstraints.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitForAll #-}+{-# LANGUAGE QuantifiedConstraints #-}++class (forall a. Eq (f a)) => C f
+ tests/examples/QuantifiedConstraints.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuantifiedConstraints.hs.parser.golden view
@@ -0,0 +1,222 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan =+            SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 5 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 1+            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 1+            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 5 1 5 1+            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 5 1 5 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 32+            , srcInfoPoints =+                [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 13+                , SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 29 1 32+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 14 1 28+                , srcInfoPoints = []+                }+              "ExplicitForAll"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 39+            , srcInfoPoints =+                [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 13+                , SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 36 2 39+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 14 2 35+                , srcInfoPoints = []+                }+              "QuantifiedConstraints"+          ]+      ]+      []+      [ ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 6 ]+            }+          (Just+             (CxSingle+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 30+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 8+                      , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 26 4 27+                      , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 28 4 30+                      ]+                  }+                (ParenA+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 30+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 8+                         , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 26 4 27+                         , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 28 4 30+                         ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 26+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 14+                            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 16 4 17+                            ]+                        }+                      (TyForall+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 26+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 14+                               , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 16 4 17+                               ]+                           }+                         (Just+                            [ UnkindedVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 15 4 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 15 4 16+                                     , srcInfoPoints = []+                                     }+                                   "a")+                            ])+                         Nothing+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 26+                              , srcInfoPoints = []+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan+                                             "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+                                       , srcInfoPoints = []+                                       }+                                     "Eq")))+                            (TyParen+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 21 4 26+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 21 4 22+                                     , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 25 4 26+                                     ]+                                 }+                               (TyApp+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 22 4 25+                                    , srcInfoPoints = []+                                    }+                                  (TyVar+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan+                                             "tests/examples/QuantifiedConstraints.hs" 4 22 4 23+                                       , srcInfoPoints = []+                                       }+                                     (Ident+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan+                                                "tests/examples/QuantifiedConstraints.hs" 4 22 4 23+                                          , srcInfoPoints = []+                                          }+                                        "f"))+                                  (TyVar+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan+                                             "tests/examples/QuantifiedConstraints.hs" 4 24 4 25+                                       , srcInfoPoints = []+                                       }+                                     (Ident+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan+                                                "tests/examples/QuantifiedConstraints.hs" 4 24 4 25+                                          , srcInfoPoints = []+                                          }+                                        "a"))))))))))+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 34+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 32+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 32+                     , srcInfoPoints = []+                     }+                   "C"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 33 4 34+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 33 4 34+                     , srcInfoPoints = []+                     }+                   "f")))+          []+          Nothing+      ]+  , []+  )
+ tests/examples/QuantifiedConstraints.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuantifiedConstraints.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitForAll #-}+{-# LANGUAGE QuantifiedConstraints #-}++class (forall a . Eq (f a)) => C f
tests/examples/RCategory.hs.parser.golden view
@@ -335,1601 +335,1879 @@                                , srcInfoPoints =                                    [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]                                }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 18 9 18 22-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 18 9 18 22-                                        , srcInfoPoints = []-                                        }-                                      "RCategoryCtxt"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/RCategory.hs" 18 23 18 26-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/RCategory.hs" 18 23 18 26-                                         , srcInfoPoints = []-                                         }-                                       "cat")-                                , TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/RCategory.hs" 18 27 18 28-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/RCategory.hs" 18 27 18 28-                                         , srcInfoPoints = []-                                         }-                                       "a")-                                , TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/RCategory.hs" 18 29 18 30-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/RCategory.hs" 18 29 18 30-                                         , srcInfoPoints = []-                                         }-                                       "a")-                                ])))-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 16-                            , srcInfoPoints = []-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 14-                               , srcInfoPoints = []-                               }-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 12-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 19 9 19 12-                                     , srcInfoPoints = []-                                     }-                                   "cat"))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 13 19 14-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 19 13 19 14-                                     , srcInfoPoints = []-                                     }-                                   "a")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16-                                  , srcInfoPoints = []-                                  }-                                "a")))))-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]-                      }-                    [ Symbol-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 22 6-                          , srcInfoPoints =-                              [ SrcSpan "tests/examples/RCategory.hs" 22 3 22 4-                              , SrcSpan "tests/examples/RCategory.hs" 22 4 22 5-                              , SrcSpan "tests/examples/RCategory.hs" 22 5 22 6-                              ]-                          }-                        "."-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 39-                         , srcInfoPoints = []-                         }-                       Nothing-                       (Just-                          (CxTuple-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 9-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/RCategory.hs" 22 10 22 11-                                   , SrcSpan "tests/examples/RCategory.hs" 22 32 22 33-                                   , SrcSpan "tests/examples/RCategory.hs" 22 55 22 56-                                   , SrcSpan "tests/examples/RCategory.hs" 22 78 22 79-                                   , SrcSpan "tests/examples/RCategory.hs" 23 7 23 9-                                   ]-                               }-                             [ ClassA-                                 SrcSpanInfo-                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 11 22 32-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/RCategory.hs" 22 11 22 24-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/RCategory.hs" 22 11 22 24-                                         , srcInfoPoints = []-                                         }-                                       "RCategoryCtxt"))-                                 [ TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 25 22 28-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 25 22 28-                                          , srcInfoPoints = []-                                          }-                                        "cat")-                                 , TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 29 22 30-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 29 22 30-                                          , srcInfoPoints = []-                                          }-                                        "b")-                                 , TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 31 22 32-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 31 22 32-                                          , srcInfoPoints = []-                                          }-                                        "c")-                                 ]-                             , ClassA-                                 SrcSpanInfo-                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 34 22 55-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/RCategory.hs" 22 34 22 47-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/RCategory.hs" 22 34 22 47-                                         , srcInfoPoints = []-                                         }-                                       "RCategoryCtxt"))-                                 [ TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 48 22 51-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 48 22 51-                                          , srcInfoPoints = []-                                          }-                                        "cat")-                                 , TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 52 22 53-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 52 22 53-                                          , srcInfoPoints = []-                                          }-                                        "a")-                                 , TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 54 22 55-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 54 22 55-                                          , srcInfoPoints = []-                                          }-                                        "b")-                                 ]-                             , ClassA-                                 SrcSpanInfo-                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 57 22 78-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/RCategory.hs" 22 57 22 70-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/RCategory.hs" 22 57 22 70-                                         , srcInfoPoints = []-                                         }-                                       "RCategoryCtxt"))-                                 [ TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 71 22 74-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 71 22 74-                                          , srcInfoPoints = []-                                          }-                                        "cat")-                                 , TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 75 22 76-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 75 22 76-                                          , srcInfoPoints = []-                                          }-                                        "a")-                                 , TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 77 22 78-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 77 22 78-                                          , srcInfoPoints = []-                                          }-                                        "c")-                                 ]-                             ]))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 39-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/RCategory.hs" 23 18 23 20 ]-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 17-                               , srcInfoPoints = []-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 15-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 10 23 13-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 10 23 13-                                        , srcInfoPoints = []-                                        }-                                      "cat"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 14 23 15-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 14 23 15-                                        , srcInfoPoints = []-                                        }-                                      "b")))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 16 23 17-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 16 23 17-                                     , srcInfoPoints = []-                                     }-                                   "c")))-                          (TyFun-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 39-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/RCategory.hs" 23 29 23 31 ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 28-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 21 23 26-                                     , srcInfoPoints = []-                                     }-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 21 23 24-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/RCategory.hs" 23 21 23 24-                                           , srcInfoPoints = []-                                           }-                                         "cat"))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 25 23 26-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/RCategory.hs" 23 25 23 26-                                           , srcInfoPoints = []-                                           }-                                         "a")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 27 23 28-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 27 23 28-                                        , srcInfoPoints = []-                                        }-                                      "b")))-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 32 23 39-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 32 23 37-                                     , srcInfoPoints = []-                                     }-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 32 23 35-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/RCategory.hs" 23 32 23 35-                                           , srcInfoPoints = []-                                           }-                                         "cat"))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 36 23 37-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/RCategory.hs" 23 36 23 37-                                           , srcInfoPoints = []-                                           }-                                         "a")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 38 23 39-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 38 23 39-                                        , srcInfoPoints = []-                                        }-                                      "c")))))))-             ])-      , RulePragmaDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 25 1 30 5-            , srcInfoPoints =-                [ SrcSpan "tests/examples/RCategory.hs" 25 1 25 10-                , SrcSpan "tests/examples/RCategory.hs" 30 2 30 5-                ]-            }-          [ Rule-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 1 27 27-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/RCategory.hs" 26 1 26 16-                    , SrcSpan "tests/examples/RCategory.hs" 26 17 26 23-                    , SrcSpan "tests/examples/RCategory.hs" 26 26 26 27-                    , SrcSpan "tests/examples/RCategory.hs" 27 24 27 25-                    ]-                }-              "identity/left"-              Nothing-              (Just-                 [ RuleVar-                     SrcSpanInfo-                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25-                          , srcInfoPoints = []-                          }-                        "p")-                 ])-              (InfixApp-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 23-                   , srcInfoPoints = []-                   }-                 (Var-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19-                      , srcInfoPoints = []-                      }-                    (UnQual-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19-                            , srcInfoPoints = []-                            }-                          "id")))-                 (QVarOp-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21-                      , srcInfoPoints = []-                      }-                    (UnQual-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21-                         , srcInfoPoints = []-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21-                            , srcInfoPoints = []-                            }-                          ".")))-                 (Var-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23-                      , srcInfoPoints = []-                      }-                    (UnQual-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23-                            , srcInfoPoints = []-                            }-                          "p"))))-              (Var-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27-                   , srcInfoPoints = []-                   }-                 (UnQual-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27-                      , srcInfoPoints = []-                      }-                    (Ident-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27-                         , srcInfoPoints = []-                         }-                       "p")))-          , Rule-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 1 29 27-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/RCategory.hs" 28 1 28 17-                    , SrcSpan "tests/examples/RCategory.hs" 28 25 28 31-                    , SrcSpan "tests/examples/RCategory.hs" 28 34 28 35-                    , SrcSpan "tests/examples/RCategory.hs" 29 24 29 25-                    ]-                }-              "identity/right"-              Nothing-              (Just-                 [ RuleVar-                     SrcSpanInfo-                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33-                          , srcInfoPoints = []-                          }-                        "p")-                 ])-              (InfixApp-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 23-                   , srcInfoPoints = []-                   }-                 (Var-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18-                      , srcInfoPoints = []-                      }-                    (UnQual-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18-                            , srcInfoPoints = []-                            }-                          "p")))-                 (QVarOp-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20-                      , srcInfoPoints = []-                      }-                    (UnQual-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20-                         , srcInfoPoints = []-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20-                            , srcInfoPoints = []-                            }-                          ".")))-                 (Var-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23-                      , srcInfoPoints = []-                      }-                    (UnQual-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23-                            , srcInfoPoints = []-                            }-                          "id"))))-              (Var-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27-                   , srcInfoPoints = []-                   }-                 (UnQual-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27-                      , srcInfoPoints = []-                      }-                    (Ident-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27-                         , srcInfoPoints = []-                         }-                       "p")))-          ]-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 1 38 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/RCategory.hs" 32 1 32 9-                , SrcSpan "tests/examples/RCategory.hs" 32 25 32 30-                , SrcSpan "tests/examples/RCategory.hs" 33 3 33 3-                , SrcSpan "tests/examples/RCategory.hs" 34 3 34 3-                , SrcSpan "tests/examples/RCategory.hs" 35 3 35 3-                , SrcSpan "tests/examples/RCategory.hs" 38 1 38 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19-                           , srcInfoPoints = []-                           }-                         "RCategory")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21-                         , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23-                         , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24-                         ]-                     }-                   (Special-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21-                            , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23-                            , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24-                            ]-                        }-                      (FunCon-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24-                           , srcInfoPoints =-                               [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21-                               , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23-                               , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24-                               ]-                           })))))-          (Just-             [ InsType-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 3 33 35-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/RCategory.hs" 33 3 33 7-                       , SrcSpan "tests/examples/RCategory.hs" 33 31 33 32-                       ]-                   }-                 (TyApp-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 30-                      , srcInfoPoints = []-                      }-                    (TyApp-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 28-                         , srcInfoPoints = []-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 26-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 33 8 33 21-                                     , srcInfoPoints = []-                                     }-                                   "RCategoryCtxt")))-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23-                                   , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25-                                   , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26-                                   ]-                               }-                             (Special-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23-                                      , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25-                                      , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26-                                      ]-                                  }-                                (FunCon-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 33 22 33 26-                                     , srcInfoPoints =-                                         [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23-                                         , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25-                                         , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26-                                         ]-                                     }))))-                       (TyVar-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28-                               , srcInfoPoints = []-                               }-                             "a")))-                    (TyVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30-                            , srcInfoPoints = []-                            }-                          "a")))-                 (TyCon-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34-                          , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35-                          ]-                      }-                    (Special-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34-                             , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35-                             ]-                         }-                       (UnitCon-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34-                                , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35-                                ]-                            })))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5-                            , srcInfoPoints = []-                            }-                          "id"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 6 34 18-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/RCategory.hs" 34 6 34 7 ]-                         }-                       (Var-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18-                            , srcInfoPoints = []-                            }-                          (Qual-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18-                               , srcInfoPoints = []-                               }-                             (ModuleName-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18-                                  , srcInfoPoints = []-                                  }-                                "Prelude")-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18-                                  , srcInfoPoints = []-                                  }-                                "id"))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 6-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/RCategory.hs" 35 3 35 4-                             , SrcSpan "tests/examples/RCategory.hs" 35 4 35 5-                             , SrcSpan "tests/examples/RCategory.hs" 35 5 35 6-                             ]-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 4 35 5-                            , srcInfoPoints = []-                            }-                          "."))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 7 35 20-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/RCategory.hs" 35 7 35 8 ]-                         }-                       (Var-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10-                                , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19-                                , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20-                                ]-                            }-                          (Qual-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10-                                   , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19-                                   , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20-                                   ]-                               }-                             (ModuleName-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19-                                  , srcInfoPoints = []-                                  }-                                "Prelude")-                             (Symbol-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19-                                  , srcInfoPoints = []-                                  }-                                "."))))-                    Nothing)-             ])-      , TypeSig-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 39 39-            , srcInfoPoints =-                [ SrcSpan "tests/examples/RCategory.hs" 38 7 38 9 ]-            }-          [ Symbol-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 38 6-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/RCategory.hs" 38 1 38 2-                    , SrcSpan "tests/examples/RCategory.hs" 38 2 38 5-                    , SrcSpan "tests/examples/RCategory.hs" 38 5 38 6-                    ]-                }-              "<<<"-          ]-          (TyForall-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 39-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 9-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/RCategory.hs" 38 10 38 11-                         , SrcSpan "tests/examples/RCategory.hs" 38 32 38 33-                         , SrcSpan "tests/examples/RCategory.hs" 38 55 38 56-                         , SrcSpan "tests/examples/RCategory.hs" 38 78 38 79-                         , SrcSpan "tests/examples/RCategory.hs" 38 93 38 94-                         , SrcSpan "tests/examples/RCategory.hs" 39 7 39 9-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 24-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 24-                               , srcInfoPoints = []-                               }-                             "RCategoryCtxt"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 25 38 28-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 25 38 28-                                , srcInfoPoints = []-                                }-                              "cat")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30-                                , srcInfoPoints = []-                                }-                              "a")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32-                                , srcInfoPoints = []-                                }-                              "c")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 47-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 47-                               , srcInfoPoints = []-                               }-                             "RCategoryCtxt"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 48 38 51-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 48 38 51-                                , srcInfoPoints = []-                                }-                              "cat")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53-                                , srcInfoPoints = []-                                }-                              "a")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55-                                , srcInfoPoints = []-                                }-                              "b")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 70-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 70-                               , srcInfoPoints = []-                               }-                             "RCategoryCtxt"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 71 38 74-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 71 38 74-                                , srcInfoPoints = []-                                }-                              "cat")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76-                                , srcInfoPoints = []-                                }-                              "b")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78-                                , srcInfoPoints = []-                                }-                              "c")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89-                               , srcInfoPoints = []-                               }-                             "RCategory"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93-                                , srcInfoPoints = []-                                }-                              "cat")-                       ]-                   ]))-             (TyFun-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 39-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/RCategory.hs" 39 18 39 20 ]-                  }-                (TyApp-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 17-                     , srcInfoPoints = []-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 15-                        , srcInfoPoints = []-                        }-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13-                              , srcInfoPoints = []-                              }-                            "cat"))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15-                              , srcInfoPoints = []-                              }-                            "b")))-                   (TyVar-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17-                           , srcInfoPoints = []-                           }-                         "c")))-                (TyFun-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 39-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/RCategory.hs" 39 29 39 31 ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 28-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 26-                           , srcInfoPoints = []-                           }-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24-                                 , srcInfoPoints = []-                                 }-                               "cat"))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26-                                 , srcInfoPoints = []-                                 }-                               "a")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28-                              , srcInfoPoints = []-                              }-                            "b")))-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 39-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 37-                           , srcInfoPoints = []-                           }-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35-                                 , srcInfoPoints = []-                                 }-                               "cat"))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37-                                 , srcInfoPoints = []-                                 }-                               "a")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39-                              , srcInfoPoints = []-                              }-                            "c"))))))-      , PatBind-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 12-            , srcInfoPoints = []-            }-          (PVar-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 6-               , srcInfoPoints =-                   [ SrcSpan "tests/examples/RCategory.hs" 40 1 40 2-                   , SrcSpan "tests/examples/RCategory.hs" 40 2 40 5-                   , SrcSpan "tests/examples/RCategory.hs" 40 5 40 6-                   ]-               }-             (Symbol-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 2 40 5-                  , srcInfoPoints = []-                  }-                "<<<"))-          (UnGuardedRhs-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 7 40 12-               , srcInfoPoints =-                   [ SrcSpan "tests/examples/RCategory.hs" 40 7 40 8 ]-               }-             (Var-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10-                      , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11-                      , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12-                      ]-                  }-                (UnQual-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10-                         , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11-                         , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12-                         ]-                     }-                   (Symbol-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 10 40 11-                        , srcInfoPoints = []-                        }-                      "."))))-          Nothing-      , TypeSig-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 44 39-            , srcInfoPoints =-                [ SrcSpan "tests/examples/RCategory.hs" 43 7 43 9 ]-            }-          [ Symbol-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 43 6-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/RCategory.hs" 43 1 43 2-                    , SrcSpan "tests/examples/RCategory.hs" 43 2 43 5-                    , SrcSpan "tests/examples/RCategory.hs" 43 5 43 6-                    ]-                }-              ">>>"-          ]-          (TyForall-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 39-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 9-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/RCategory.hs" 43 10 43 11-                         , SrcSpan "tests/examples/RCategory.hs" 43 32 43 33-                         , SrcSpan "tests/examples/RCategory.hs" 43 55 43 56-                         , SrcSpan "tests/examples/RCategory.hs" 43 78 43 79-                         , SrcSpan "tests/examples/RCategory.hs" 43 93 43 94-                         , SrcSpan "tests/examples/RCategory.hs" 44 7 44 9-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 24-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 24-                               , srcInfoPoints = []-                               }-                             "RCategoryCtxt"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 25 43 28-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 25 43 28-                                , srcInfoPoints = []-                                }-                              "cat")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30-                                , srcInfoPoints = []-                                }-                              "a")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32-                                , srcInfoPoints = []-                                }-                              "c")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 47-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 47-                               , srcInfoPoints = []-                               }-                             "RCategoryCtxt"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 48 43 51-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 48 43 51-                                , srcInfoPoints = []-                                }-                              "cat")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53-                                , srcInfoPoints = []-                                }-                              "a")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55-                                , srcInfoPoints = []-                                }-                              "b")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 70-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 70-                               , srcInfoPoints = []-                               }-                             "RCategoryCtxt"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 71 43 74-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 71 43 74-                                , srcInfoPoints = []-                                }-                              "cat")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76-                                , srcInfoPoints = []-                                }-                              "b")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78-                                , srcInfoPoints = []-                                }-                              "c")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89-                               , srcInfoPoints = []-                               }-                             "RCategory"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93-                                , srcInfoPoints = []-                                }-                              "cat")-                       ]+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+                                        }+                                      (TyApp+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+                                           , srcInfoPoints =+                                               [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+                                           }+                                         (TyCon+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+                                              , srcInfoPoints =+                                                  [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8+                                                  ]+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/RCategory.hs" 18 9 18 22+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/RCategory.hs" 18 9 18 22+                                                    , srcInfoPoints = []+                                                    }+                                                  "RCategoryCtxt")))+                                         (TyVar+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/RCategory.hs" 18 23 18 26+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/RCategory.hs" 18 23 18 26+                                                 , srcInfoPoints = []+                                                 }+                                               "cat")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 18 27 18 28+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/RCategory.hs" 18 27 18 28+                                              , srcInfoPoints = []+                                              }+                                            "a")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 18 29 18 30+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 18 29 18 30+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 16+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 14+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 12+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 19 9 19 12+                                     , srcInfoPoints = []+                                     }+                                   "cat"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 13 19 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 19 13 19 14+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16+                                  , srcInfoPoints = []+                                  }+                                "a")))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 22 6+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/RCategory.hs" 22 3 22 4+                              , SrcSpan "tests/examples/RCategory.hs" 22 4 22 5+                              , SrcSpan "tests/examples/RCategory.hs" 22 5 22 6+                              ]+                          }+                        "."+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 39+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxTuple+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 9+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/RCategory.hs" 22 10 22 11+                                   , SrcSpan "tests/examples/RCategory.hs" 22 32 22 33+                                   , SrcSpan "tests/examples/RCategory.hs" 22 55 22 56+                                   , SrcSpan "tests/examples/RCategory.hs" 22 78 22 79+                                   , SrcSpan "tests/examples/RCategory.hs" 23 7 23 9+                                   ]+                               }+                             [ TypeA+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+                                   , srcInfoPoints = []+                                   }+                                 (TyApp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+                                      , srcInfoPoints = []+                                      }+                                    (TyApp+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+                                         , srcInfoPoints = []+                                         }+                                       (TyApp+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+                                            , srcInfoPoints = []+                                            }+                                          (TyCon+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+                                               , srcInfoPoints = []+                                               }+                                             (UnQual+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/RCategory.hs" 22 11 22 24+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/RCategory.hs" 22 11 22 24+                                                     , srcInfoPoints = []+                                                     }+                                                   "RCategoryCtxt")))+                                          (TyVar+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 25 22 28+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/RCategory.hs" 22 25 22 28+                                                  , srcInfoPoints = []+                                                  }+                                                "cat")))+                                       (TyVar+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 29 22 30+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 29 22 30+                                               , srcInfoPoints = []+                                               }+                                             "b")))+                                    (TyVar+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/RCategory.hs" 22 31 22 32+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 31 22 32+                                            , srcInfoPoints = []+                                            }+                                          "c")))+                             , TypeA+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+                                   , srcInfoPoints = []+                                   }+                                 (TyApp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+                                      , srcInfoPoints = []+                                      }+                                    (TyApp+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+                                         , srcInfoPoints = []+                                         }+                                       (TyApp+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+                                            , srcInfoPoints = []+                                            }+                                          (TyCon+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+                                               , srcInfoPoints = []+                                               }+                                             (UnQual+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/RCategory.hs" 22 34 22 47+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/RCategory.hs" 22 34 22 47+                                                     , srcInfoPoints = []+                                                     }+                                                   "RCategoryCtxt")))+                                          (TyVar+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 48 22 51+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/RCategory.hs" 22 48 22 51+                                                  , srcInfoPoints = []+                                                  }+                                                "cat")))+                                       (TyVar+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 52 22 53+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 52 22 53+                                               , srcInfoPoints = []+                                               }+                                             "a")))+                                    (TyVar+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/RCategory.hs" 22 54 22 55+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 54 22 55+                                            , srcInfoPoints = []+                                            }+                                          "b")))+                             , TypeA+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+                                   , srcInfoPoints = []+                                   }+                                 (TyApp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+                                      , srcInfoPoints = []+                                      }+                                    (TyApp+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+                                         , srcInfoPoints = []+                                         }+                                       (TyApp+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+                                            , srcInfoPoints = []+                                            }+                                          (TyCon+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+                                               , srcInfoPoints = []+                                               }+                                             (UnQual+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/RCategory.hs" 22 57 22 70+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/RCategory.hs" 22 57 22 70+                                                     , srcInfoPoints = []+                                                     }+                                                   "RCategoryCtxt")))+                                          (TyVar+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 71 22 74+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/RCategory.hs" 22 71 22 74+                                                  , srcInfoPoints = []+                                                  }+                                                "cat")))+                                       (TyVar+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 75 22 76+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 75 22 76+                                               , srcInfoPoints = []+                                               }+                                             "a")))+                                    (TyVar+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/RCategory.hs" 22 77 22 78+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 77 22 78+                                            , srcInfoPoints = []+                                            }+                                          "c")))+                             ]))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 39+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/RCategory.hs" 23 18 23 20 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 17+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 15+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 10 23 13+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 10 23 13+                                        , srcInfoPoints = []+                                        }+                                      "cat"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 14 23 15+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 14 23 15+                                        , srcInfoPoints = []+                                        }+                                      "b")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 16 23 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 16 23 17+                                     , srcInfoPoints = []+                                     }+                                   "c")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 39+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/RCategory.hs" 23 29 23 31 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 28+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 21 23 26+                                     , srcInfoPoints = []+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 21 23 24+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 23 21 23 24+                                           , srcInfoPoints = []+                                           }+                                         "cat"))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 25 23 26+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 23 25 23 26+                                           , srcInfoPoints = []+                                           }+                                         "a")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 27 23 28+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 27 23 28+                                        , srcInfoPoints = []+                                        }+                                      "b")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 32 23 39+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 32 23 37+                                     , srcInfoPoints = []+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 32 23 35+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 23 32 23 35+                                           , srcInfoPoints = []+                                           }+                                         "cat"))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 36 23 37+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 23 36 23 37+                                           , srcInfoPoints = []+                                           }+                                         "a")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 38 23 39+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 38 23 39+                                        , srcInfoPoints = []+                                        }+                                      "c")))))))+             ])+      , RulePragmaDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 25 1 30 5+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RCategory.hs" 25 1 25 10+                , SrcSpan "tests/examples/RCategory.hs" 30 2 30 5+                ]+            }+          [ Rule+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 1 27 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/RCategory.hs" 26 1 26 16+                    , SrcSpan "tests/examples/RCategory.hs" 26 17 26 23+                    , SrcSpan "tests/examples/RCategory.hs" 26 26 26 27+                    , SrcSpan "tests/examples/RCategory.hs" 27 24 27 25+                    ]+                }+              "identity/left"+              Nothing+              (Just+                 [ RuleVar+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25+                          , srcInfoPoints = []+                          }+                        "p")+                 ])+              (InfixApp+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 23+                   , srcInfoPoints = []+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+                            , srcInfoPoints = []+                            }+                          "id")))+                 (QVarOp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+                         , srcInfoPoints = []+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+                            , srcInfoPoints = []+                            }+                          ".")))+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+                            , srcInfoPoints = []+                            }+                          "p"))))+              (Var+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+                         , srcInfoPoints = []+                         }+                       "p")))+          , Rule+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 1 29 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/RCategory.hs" 28 1 28 17+                    , SrcSpan "tests/examples/RCategory.hs" 28 25 28 31+                    , SrcSpan "tests/examples/RCategory.hs" 28 34 28 35+                    , SrcSpan "tests/examples/RCategory.hs" 29 24 29 25+                    ]+                }+              "identity/right"+              Nothing+              (Just+                 [ RuleVar+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33+                          , srcInfoPoints = []+                          }+                        "p")+                 ])+              (InfixApp+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 23+                   , srcInfoPoints = []+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+                            , srcInfoPoints = []+                            }+                          "p")))+                 (QVarOp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+                         , srcInfoPoints = []+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+                            , srcInfoPoints = []+                            }+                          ".")))+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+                            , srcInfoPoints = []+                            }+                          "id"))))+              (Var+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+                         , srcInfoPoints = []+                         }+                       "p")))+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 1 38 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RCategory.hs" 32 1 32 9+                , SrcSpan "tests/examples/RCategory.hs" 32 25 32 30+                , SrcSpan "tests/examples/RCategory.hs" 33 3 33 3+                , SrcSpan "tests/examples/RCategory.hs" 34 3 34 3+                , SrcSpan "tests/examples/RCategory.hs" 35 3 35 3+                , SrcSpan "tests/examples/RCategory.hs" 38 1 38 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+                           , srcInfoPoints = []+                           }+                         "RCategory")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+                         , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+                         , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+                         ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+                            , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+                            , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+                            ]+                        }+                      (FunCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+                               , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+                               , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+                               ]+                           })))))+          (Just+             [ InsType+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 3 33 35+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/RCategory.hs" 33 3 33 7+                       , SrcSpan "tests/examples/RCategory.hs" 33 31 33 32+                       ]+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 30+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 28+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 26+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+                                     , srcInfoPoints = []+                                     }+                                   "RCategoryCtxt")))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+                                   , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+                                   , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+                                   ]+                               }+                             (Special+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+                                      , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+                                      , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+                                      ]+                                  }+                                (FunCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+                                         , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+                                         , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+                                         ]+                                     }))))+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28+                               , srcInfoPoints = []+                               }+                             "a")))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30+                            , srcInfoPoints = []+                            }+                          "a")))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+                          , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+                          ]+                      }+                    (Special+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+                             , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+                             ]+                         }+                       (UnitCon+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+                                , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+                                ]+                            })))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5+                            , srcInfoPoints = []+                            }+                          "id"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 6 34 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/RCategory.hs" 34 6 34 7 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+                            , srcInfoPoints = []+                            }+                          (Qual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+                               , srcInfoPoints = []+                               }+                             (ModuleName+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+                                  , srcInfoPoints = []+                                  }+                                "Prelude")+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+                                  , srcInfoPoints = []+                                  }+                                "id"))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 6+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/RCategory.hs" 35 3 35 4+                             , SrcSpan "tests/examples/RCategory.hs" 35 4 35 5+                             , SrcSpan "tests/examples/RCategory.hs" 35 5 35 6+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 4 35 5+                            , srcInfoPoints = []+                            }+                          "."))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 7 35 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/RCategory.hs" 35 7 35 8 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10+                                , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+                                , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20+                                ]+                            }+                          (Qual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10+                                   , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+                                   , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20+                                   ]+                               }+                             (ModuleName+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+                                  , srcInfoPoints = []+                                  }+                                "Prelude")+                             (Symbol+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+                                  , srcInfoPoints = []+                                  }+                                "."))))+                    Nothing)+             ])+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 39 39+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RCategory.hs" 38 7 38 9 ]+            }+          [ Symbol+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 38 6+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/RCategory.hs" 38 1 38 2+                    , SrcSpan "tests/examples/RCategory.hs" 38 2 38 5+                    , SrcSpan "tests/examples/RCategory.hs" 38 5 38 6+                    ]+                }+              "<<<"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 39+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 9+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/RCategory.hs" 38 10 38 11+                         , SrcSpan "tests/examples/RCategory.hs" 38 32 38 33+                         , SrcSpan "tests/examples/RCategory.hs" 38 55 38 56+                         , SrcSpan "tests/examples/RCategory.hs" 38 78 38 79+                         , SrcSpan "tests/examples/RCategory.hs" 38 93 38 94+                         , SrcSpan "tests/examples/RCategory.hs" 39 7 39 9+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 38 11 38 24+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 38 11 38 24+                                           , srcInfoPoints = []+                                           }+                                         "RCategoryCtxt")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 25 38 28+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 38 25 38 28+                                        , srcInfoPoints = []+                                        }+                                      "cat")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 29 38 30+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32+                                  , srcInfoPoints = []+                                  }+                                "c")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 38 34 38 47+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 38 34 38 47+                                           , srcInfoPoints = []+                                           }+                                         "RCategoryCtxt")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 48 38 51+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 38 48 38 51+                                        , srcInfoPoints = []+                                        }+                                      "cat")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 52 38 53+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55+                                  , srcInfoPoints = []+                                  }+                                "b")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 38 57 38 70+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 38 57 38 70+                                           , srcInfoPoints = []+                                           }+                                         "RCategoryCtxt")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 71 38 74+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 38 71 38 74+                                        , srcInfoPoints = []+                                        }+                                      "cat")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 75 38 76+                                     , srcInfoPoints = []+                                     }+                                   "b")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78+                                  , srcInfoPoints = []+                                  }+                                "c")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 80 38 89+                                     , srcInfoPoints = []+                                     }+                                   "RCategory")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93+                                  , srcInfoPoints = []+                                  }+                                "cat")))+                   ]))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 39+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/RCategory.hs" 39 18 39 20 ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 17+                     , srcInfoPoints = []+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 15+                        , srcInfoPoints = []+                        }+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13+                              , srcInfoPoints = []+                              }+                            "cat"))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15+                              , srcInfoPoints = []+                              }+                            "b")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17+                           , srcInfoPoints = []+                           }+                         "c")))+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 39+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/RCategory.hs" 39 29 39 31 ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 28+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 26+                           , srcInfoPoints = []+                           }+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24+                                 , srcInfoPoints = []+                                 }+                               "cat"))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26+                                 , srcInfoPoints = []+                                 }+                               "a")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28+                              , srcInfoPoints = []+                              }+                            "b")))+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 39+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 37+                           , srcInfoPoints = []+                           }+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35+                                 , srcInfoPoints = []+                                 }+                               "cat"))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37+                                 , srcInfoPoints = []+                                 }+                               "a")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39+                              , srcInfoPoints = []+                              }+                            "c"))))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 12+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 6+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RCategory.hs" 40 1 40 2+                   , SrcSpan "tests/examples/RCategory.hs" 40 2 40 5+                   , SrcSpan "tests/examples/RCategory.hs" 40 5 40 6+                   ]+               }+             (Symbol+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 2 40 5+                  , srcInfoPoints = []+                  }+                "<<<"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 7 40 12+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RCategory.hs" 40 7 40 8 ]+               }+             (Var+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10+                      , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+                      , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12+                      ]+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10+                         , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+                         , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12+                         ]+                     }+                   (Symbol+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+                        , srcInfoPoints = []+                        }+                      "."))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 44 39+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RCategory.hs" 43 7 43 9 ]+            }+          [ Symbol+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 43 6+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/RCategory.hs" 43 1 43 2+                    , SrcSpan "tests/examples/RCategory.hs" 43 2 43 5+                    , SrcSpan "tests/examples/RCategory.hs" 43 5 43 6+                    ]+                }+              ">>>"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 39+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 9+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/RCategory.hs" 43 10 43 11+                         , SrcSpan "tests/examples/RCategory.hs" 43 32 43 33+                         , SrcSpan "tests/examples/RCategory.hs" 43 55 43 56+                         , SrcSpan "tests/examples/RCategory.hs" 43 78 43 79+                         , SrcSpan "tests/examples/RCategory.hs" 43 93 43 94+                         , SrcSpan "tests/examples/RCategory.hs" 44 7 44 9+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 43 11 43 24+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 43 11 43 24+                                           , srcInfoPoints = []+                                           }+                                         "RCategoryCtxt")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 25 43 28+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 43 25 43 28+                                        , srcInfoPoints = []+                                        }+                                      "cat")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 29 43 30+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32+                                  , srcInfoPoints = []+                                  }+                                "c")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 43 34 43 47+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 43 34 43 47+                                           , srcInfoPoints = []+                                           }+                                         "RCategoryCtxt")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 48 43 51+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 43 48 43 51+                                        , srcInfoPoints = []+                                        }+                                      "cat")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 52 43 53+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55+                                  , srcInfoPoints = []+                                  }+                                "b")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 43 57 43 70+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 43 57 43 70+                                           , srcInfoPoints = []+                                           }+                                         "RCategoryCtxt")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 71 43 74+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 43 71 43 74+                                        , srcInfoPoints = []+                                        }+                                      "cat")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 75 43 76+                                     , srcInfoPoints = []+                                     }+                                   "b")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78+                                  , srcInfoPoints = []+                                  }+                                "c")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 80 43 89+                                     , srcInfoPoints = []+                                     }+                                   "RCategory")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93+                                  , srcInfoPoints = []+                                  }+                                "cat")))                    ]))              (TyFun                 SrcSpanInfo
tests/examples/ScopedTypeVariables.hs.parser.golden view
@@ -363,40 +363,53 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33                         , srcInfoPoints =                             [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+                                  SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+                                    , srcInfoPoints = []+                                    }+                                  "Eq")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30                               , srcInfoPoints = []                               }-                            "Eq"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30-                               , srcInfoPoints = []-                               }-                             "x")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30+                                 , srcInfoPoints = []+                                 }+                               "x"))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/SingleClassAsst.hs.parser.golden view
@@ -74,39 +74,50 @@                             , SrcSpan "tests/examples/SingleClassAsst.hs" 3 15 3 17                             ]                         }-                      (ClassA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan =                                SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13                            , srcInfoPoints = []                            }-                         (UnQual+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+                                  SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13                               , srcInfoPoints = []                               }-                            (Ident+                            (TyCon                                SrcSpanInfo                                  { srcInfoSpan =-                                     SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+                                     SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13                                  , srcInfoPoints = []                                  }-                               "Eq"))-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13-                                  , srcInfoPoints = []-                                  }-                                "a")-                         ]))))+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+                                       , srcInfoPoints = []+                                       }+                                     "Eq")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/SpecializeInstance.hs.parser.golden view
@@ -43,40 +43,53 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20                         , srcInfoPoints =                             [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+                                  SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+                                    , srcInfoPoints = []+                                    }+                                  "Sized")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17                               , srcInfoPoints = []                               }-                            "Sized"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17-                               , srcInfoPoints = []-                               }-                             "a")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17+                                 , srcInfoPoints = []+                                 }+                               "a"))))))              (IHApp                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/SpecializePhaseControl.hs.parser.golden view
@@ -331,72 +331,95 @@                          , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 26 6 28                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12                                , srcInfoPoints = []                                }-                             "Num"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24                                , srcInfoPoints = []                                }-                             "Integral"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24-                                , srcInfoPoints = []-                                }-                              "b")-                       ]+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+                                     , srcInfoPoints = []+                                     }+                                   "Integral")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24+                                  , srcInfoPoints = []+                                  }+                                "b")))                    ]))              (TyFun                 SrcSpanInfo@@ -810,72 +833,96 @@                          , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 26 14 28                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12                                , srcInfoPoints = []                                }-                             "Num"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24                                , srcInfoPoints = []                                }-                             "Integral"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24-                                , srcInfoPoints = []-                                }-                              "b")-                       ]+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+                                     , srcInfoPoints = []+                                     }+                                   "Integral")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24+                                  , srcInfoPoints = []+                                  }+                                "b")))                    ]))              (TyFun                 SrcSpanInfo
+ tests/examples/THTypedSplices.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH++import THTypedSplices.Defs++main = $$justTH ($$([e|| 2 ||]))
+ tests/examples/THTypedSplices.hs.exactprinter.golden view
@@ -0,0 +1,7 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH++import THTypedSplices.Defs++main = $$justTH ($$([||  2 ||]))+
+ tests/examples/THTypedSplices.hs.parser.golden view
@@ -0,0 +1,177 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 1 1 7 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 7 1 7 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 7 1 7 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 13+                , SrcSpan "tests/examples/THTypedSplices.hs" 1 30 1 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/THTypedSplices.hs" 1 14 1 29+                , srcInfoPoints = []+                }+              "TemplateHaskell"+          ]+      ]+      [ ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 2 8 2 27+                  , srcInfoPoints = []+                  }+                "Language.Haskell.TH"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 4 8 4 27+                  , srcInfoPoints = []+                  }+                "THTypedSplices.Defs"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      ]+      [ PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 33+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 5+                  , srcInfoPoints = []+                  }+                "main"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 6 6 33+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/THTypedSplices.hs" 6 6 6 7 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 33+                  , srcInfoPoints = []+                  }+                (SpliceExp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 16+                     , srcInfoPoints = []+                     }+                   (TIdSplice+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 16+                        , srcInfoPoints = []+                        }+                      "justTH"))+                (Paren+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/THTypedSplices.hs" 6 17 6 33+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/THTypedSplices.hs" 6 17 6 18+                         , SrcSpan "tests/examples/THTypedSplices.hs" 6 32 6 33+                         ]+                     }+                   (SpliceExp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 32+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 21+                            , SrcSpan "tests/examples/THTypedSplices.hs" 6 31 6 32+                            ]+                        }+                      (TParenSplice+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 32+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 21+                               , SrcSpan "tests/examples/THTypedSplices.hs" 6 31 6 32+                               ]+                           }+                         (BracketExp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 31+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 25+                                  , SrcSpan "tests/examples/THTypedSplices.hs" 6 28 6 31+                                  ]+                              }+                            (TExpBracket+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 31+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 25+                                     , SrcSpan "tests/examples/THTypedSplices.hs" 6 28 6 31+                                     ]+                                 }+                               (Lit+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/THTypedSplices.hs" 6 26 6 27+                                    , srcInfoPoints = []+                                    }+                                  (Int+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/THTypedSplices.hs" 6 26 6 27+                                       , srcInfoPoints = []+                                       }+                                     2+                                     "2")))))))))+          Nothing+      ]+  , []+  )
+ tests/examples/THTypedSplices.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/THTypedSplices.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH+import THTypedSplices.Defs+main = $$justTH ($$( [|| 2 ||] ))
tests/examples/TypeEqualityParen.hs.parser.golden view
@@ -67,39 +67,50 @@                          , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 26 2 28                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+                                SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12                                , srcInfoPoints = []                                }-                             "Eq"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12-                                , srcInfoPoints = []-                                }-                              "a")-                       ]+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12+                                  , srcInfoPoints = []+                                  }+                                "a")))                    , ParenA                        SrcSpanInfo                          { srcInfoSpan =@@ -109,45 +120,52 @@                              , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 22 2 23                              ]                          }-                       (EqualP+                       (TypeA                           SrcSpanInfo                             { srcInfoSpan =                                 SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 22                             , srcInfoPoints =                                 [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 17 2 18 ]                             }-                          (TyVar+                          (TyEquals                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16-                               , srcInfoPoints = []+                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 22+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 17 2 18 ]                                }-                             (Ident+                             (TyVar                                 SrcSpanInfo                                   { srcInfoSpan =                                       SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16                                   , srcInfoPoints = []                                   }-                                "a"))-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22-                               , srcInfoPoints = []-                               }-                             (UnQual+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16+                                     , srcInfoPoints = []+                                     }+                                   "a"))+                             (TyCon                                 SrcSpanInfo                                   { srcInfoSpan =                                       SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22                                   , srcInfoPoints = []                                   }-                                (Ident+                                (UnQual                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22                                      , srcInfoPoints = []                                      }-                                   "Int"))))+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22+                                        , srcInfoPoints = []+                                        }+                                      "Int")))))                    ]))              (TyFun                 SrcSpanInfo
tests/examples/TypeOperatorsTest.hs.parser.golden view
@@ -79,54 +79,67 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22                         , srcInfoPoints =                             [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14-                              , srcInfoPoints = []+                                  SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ]                               }-                            "ArrowXml"))-                      [ TyCon-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16-                                , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18-                                , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19-                                ]-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16-                                   , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18-                                   , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19-                                   ]-                               }-                             (Symbol-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18-                                  , srcInfoPoints = []-                                  }-                                "~>"))-                      ])))+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14+                                    , srcInfoPoints = []+                                    }+                                  "ArrowXml")))+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16+                                  , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+                                  , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19+                                  ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16+                                     , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+                                     , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19+                                     ]+                                 }+                               (Symbol+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+                                    , srcInfoPoints = []+                                    }+                                  "~>")))))))              (TyInfix                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/Unicode.hs.parser.golden view
@@ -3748,62 +3748,80 @@                          , SrcSpan "tests/examples/Unicode.hs" 74 28 74 29                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+                            { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+                               { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19                                , srcInfoPoints = []                                }-                             "Num"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+                            { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+                               { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26                                , srcInfoPoints = []                                }-                             "Ord"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26-                                , srcInfoPoints = []-                                }-                              "a")-                       ]+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+                                     , srcInfoPoints = []+                                     }+                                   "Ord")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26+                                  , srcInfoPoints = []+                                  }+                                "a")))                    ]))              (TyFun                 SrcSpanInfo
+ tests/examples/UnicodeIdents.hs view
@@ -0,0 +1,2 @@+猫 = ()+自乗 x = x * x
+ tests/examples/UnicodeIdents.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeIdents.hs.parser.golden view
@@ -0,0 +1,155 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 3 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+            , SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+            , SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+            , SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 1+            , SrcSpan "tests/examples/UnicodeIdents.hs" 3 1 3 1+            , SrcSpan "tests/examples/UnicodeIdents.hs" 3 1 3 1+            ]+        }+      Nothing+      []+      []+      [ PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 7+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 2+                  , srcInfoPoints = []+                  }+                "\29483"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 3 1 7+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 3 1 4 ]+               }+             (Con+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+                      , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+                      ]+                  }+                (Special+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+                         , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+                         ]+                     }+                   (UnitCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+                            , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+                            ]+                        }))))+          Nothing+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 13+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 13+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 3+                   , srcInfoPoints = []+                   }+                 "\33258\20055")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 4 2 5+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 4 2 5+                       , srcInfoPoints = []+                       }+                     "x")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 6 2 13+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/UnicodeIdents.hs" 2 6 2 7 ]+                   }+                 (InfixApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 13+                      , srcInfoPoints = []+                      }+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+                               , srcInfoPoints = []+                               }+                             "x")))+                    (QVarOp+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+                            , srcInfoPoints = []+                            }+                          (Symbol+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+                               , srcInfoPoints = []+                               }+                             "*")))+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+                               , srcInfoPoints = []+                               }+                             "x")))))+              Nothing+          ]+      ]+  , []+  )
+ tests/examples/UnicodeIdents.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeIdents.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@++ = ()+êW x = x * x
tests/examples/Vta1.hs.parser.golden view
@@ -3152,34 +3152,43 @@                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30                      , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30                         , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25-                           , srcInfoPoints = []+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+                              , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25+                                    , srcInfoPoints = []+                                    }+                                  "Num")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27                               , srcInfoPoints = []                               }-                            "Num"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27-                               , srcInfoPoints = []-                               }-                             "a")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27+                                 , srcInfoPoints = []+                                 }+                               "a"))))))              (TyForall                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 31 55 52@@ -3418,40 +3427,54 @@                                        , srcInfoPoints =                                            [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]                                        }-                                     (ClassA+                                     (TypeA                                         SrcSpanInfo                                           { srcInfoSpan =                                               SrcSpan "tests/examples/Vta1.hs" 58 26 58 34                                           , srcInfoPoints =                                               [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]                                           }-                                        (UnQual+                                        (TyApp                                            SrcSpanInfo                                              { srcInfoSpan =-                                                 SrcSpan "tests/examples/Vta1.hs" 58 26 58 29-                                             , srcInfoPoints = []+                                                 SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+                                             , srcInfoPoints =+                                                 [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]                                              }-                                           (Ident+                                           (TyCon                                               SrcSpanInfo                                                 { srcInfoSpan =-                                                    SrcSpan "tests/examples/Vta1.hs" 58 26 58 29+                                                    SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+                                                , srcInfoPoints =+                                                    [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+                                                }+                                              (UnQual+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan "tests/examples/Vta1.hs" 58 26 58 29+                                                   , srcInfoPoints = []+                                                   }+                                                 (Ident+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/Vta1.hs" 58 26 58 29+                                                      , srcInfoPoints = []+                                                      }+                                                    "Num")))+                                           (TyVar+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan "tests/examples/Vta1.hs" 58 30 58 31                                                 , srcInfoPoints = []                                                 }-                                              "Num"))-                                        [ TyVar-                                            SrcSpanInfo-                                              { srcInfoSpan =-                                                  SrcSpan "tests/examples/Vta1.hs" 58 30 58 31-                                              , srcInfoPoints = []-                                              }-                                            (Ident-                                               SrcSpanInfo-                                                 { srcInfoSpan =-                                                     SrcSpan "tests/examples/Vta1.hs" 58 30 58 31-                                                 , srcInfoPoints = []-                                                 }-                                               "a")-                                        ])))+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan "tests/examples/Vta1.hs" 58 30 58 31+                                                   , srcInfoPoints = []+                                                   }+                                                 "a"))))))                                (TyForall                                   SrcSpanInfo                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 35 58 56@@ -4848,37 +4871,51 @@                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47                                 , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]                                 }-                              (ClassA+                              (TypeA                                  SrcSpanInfo                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47                                    , srcInfoPoints =                                        [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]                                    }-                                 (UnQual+                                 (TyApp                                     SrcSpanInfo-                                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 42-                                      , srcInfoPoints = []+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]                                       }-                                    (Ident+                                    (TyCon                                        SrcSpanInfo                                          { srcInfoSpan =-                                             SrcSpan "tests/examples/Vta1.hs" 85 38 85 42+                                             SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+                                         , srcInfoPoints =+                                             [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/Vta1.hs" 85 38 85 42+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/Vta1.hs" 85 38 85 42+                                               , srcInfoPoints = []+                                               }+                                             "Show")))+                                    (TyVar+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/Vta1.hs" 85 43 85 44                                          , srcInfoPoints = []                                          }-                                       "Show"))-                                 [ TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 43 85 44-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/Vta1.hs" 85 43 85 44-                                          , srcInfoPoints = []-                                          }-                                        "a")-                                 ])))+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/Vta1.hs" 85 43 85 44+                                            , srcInfoPoints = []+                                            }+                                          "a"))))))                         (TyFun                            SrcSpanInfo                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 48 85 59
tests/examples/t403.hs.parser.golden view
@@ -172,74 +172,79 @@                          , SrcSpan "tests/examples/t403.hs" 8 50 8 52                          ]                      }-                   (EqualP+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 48                         , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 45 8 46 ]                         }-                      (TyParen+                      (TyEquals                          SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 44-                           , srcInfoPoints =-                               [ SrcSpan "tests/examples/t403.hs" 8 36 8 37-                               , SrcSpan "tests/examples/t403.hs" 8 43 8 44-                               ]+                           { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 48+                           , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 45 8 46 ]                            }-                         (TyInfix+                         (TyParen                             SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 43-                              , srcInfoPoints = []+                              { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 44+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/t403.hs" 8 36 8 37+                                  , SrcSpan "tests/examples/t403.hs" 8 43 8 44+                                  ]                               }-                            (TyVar+                            (TyInfix                                SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 38+                                 { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 43                                  , srcInfoPoints = []                                  }-                               (Ident+                               (TyVar                                   SrcSpanInfo                                     { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 38                                     , srcInfoPoints = []                                     }-                                  "k"))-                            (UnpromotedName-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41-                                 , srcInfoPoints = []-                                 }-                               (UnQual+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 38+                                       , srcInfoPoints = []+                                       }+                                     "k"))+                               (UnpromotedName                                   SrcSpanInfo                                     { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41                                     , srcInfoPoints = []                                     }-                                  (Symbol+                                  (UnQual                                      SrcSpanInfo                                        { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41                                        , srcInfoPoints = []                                        }-                                     ":+")))-                            (TyPromoted-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 42 8 43-                                 , srcInfoPoints = []-                                 }-                               (PromotedInteger+                                     (Symbol+                                        SrcSpanInfo+                                          { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41+                                          , srcInfoPoints = []+                                          }+                                        ":+")))+                               (TyPromoted                                   SrcSpanInfo                                     { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 42 8 43                                     , srcInfoPoints = []                                     }-                                  1-                                  "1"))))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 47 8 48-                           , srcInfoPoints = []-                           }-                         (Ident+                                  (PromotedInteger+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 42 8 43+                                       , srcInfoPoints = []+                                       }+                                     1+                                     "1"))))+                         (TyVar                             SrcSpanInfo                               { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 47 8 48                               , srcInfoPoints = []                               }-                            "n"))))))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 47 8 48+                                 , srcInfoPoints = []+                                 }+                               "n")))))))           (TyFun              SrcSpanInfo                { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 53 8 86