Collecting type info for 3 module(s) ... % executing: ":type-at T16804a.hs 1 8 1 14 undefined" % file snippet: > module T16804a where % ^~~~~~^ > % output: undefined :: forall {a}. a % executing: ":uses T16804a.hs 1 8 1 14" % file snippet: > module T16804a where % ^~~~~~^ > % output: % executing: ":type-at T16804a.hs 3 8 3 11 undefined" % file snippet: > > import Data.Monoid % ^~~^ > % output: undefined :: forall {a}. a % executing: ":type-at T16804a.hs 3 8 3 18 undefined" % file snippet: > > import Data.Monoid % ^~~~~~~~~~^ > % output: undefined :: forall {a}. a % executing: ":type-at T16804a.hs 3 13 3 18 undefined" % file snippet: > > import Data.Monoid % ^~~~~^ > % output: undefined :: forall {a}. a % executing: ":uses T16804a.hs 3 8 3 11" % file snippet: > > import Data.Monoid % ^~~^ > % output: % executing: ":uses T16804a.hs 3 8 3 18" % file snippet: > > import Data.Monoid % ^~~~~~~~~~^ > % output: % executing: ":uses T16804a.hs 3 13 3 18" % file snippet: > > import Data.Monoid % ^~~~~^ > % output: % executing: ":type-at T16804a.hs 5 6 5 9 undefined" % file snippet: > > data Test = A | B % ^~~^ > deriving (Show) % output: undefined :: forall {a}. a % executing: ":type-at T16804a.hs 5 13 5 13 undefined" % file snippet: > > data Test = A | B % ^ > deriving (Show) % output: undefined :: forall {a}. a % executing: ":type-at T16804a.hs 5 15 5 15 undefined" % file snippet: > > data Test = A | B % ^ > deriving (Show) % output: undefined :: forall {a}. a % executing: ":type-at T16804a.hs 5 17 5 17 undefined" % file snippet: > > data Test = A | B % ^ > deriving (Show) % output: undefined :: forall {a}. a % executing: ":type-at T16804a.hs 6 13 6 16 undefined" % file snippet: > data Test = A | B > deriving (Show) % ^~~^ > instance Monoid Test where % output: undefined :: [Test] -> ShowS % executing: ":uses T16804a.hs 5 6 5 9" % file snippet: > > data Test = A | B % ^~~^ > deriving (Show) % output: % executing: ":uses T16804a.hs 5 13 5 13" % file snippet: > > data Test = A | B % ^ > deriving (Show) % output: % executing: ":uses T16804a.hs 5 15 5 15" % file snippet: > > data Test = A | B % ^ > deriving (Show) % output: % executing: ":uses T16804a.hs 5 17 5 17" % file snippet: > > data Test = A | B % ^ > deriving (Show) % output: % executing: ":uses T16804a.hs 6 13 6 16" % file snippet: > data Test = A | B > deriving (Show) % ^~~^ > instance Monoid Test where % output: T16804a.hs:(6,13)-(6,16) T16804a.hs:(6,13)-(6,16) % executing: ":type-at T16804a.hs 7 10 7 15 undefined" % file snippet: > deriving (Show) > instance Monoid Test where % ^~~~~^ > mempty = A % output: undefined :: forall {a}. a % executing: ":type-at T16804a.hs 7 17 7 20 undefined" % file snippet: > deriving (Show) > instance Monoid Test where % ^~~^ > mempty = A % output: undefined :: forall {a}. a % executing: ":type-at T16804a.hs 7 10 7 20 undefined" % file snippet: > deriving (Show) > instance Monoid Test where % ^~~~~~~~~~^ > mempty = A % output: undefined :: [Test] -> Test % executing: ":type-at T16804a.hs 8 3 8 8 undefined" % file snippet: > instance Monoid Test where > mempty = A % ^~~~~^ > -- empty for linenumbers in T16804 to be correct % output: undefined :: Test % executing: ":type-at T16804a.hs 8 12 8 12 undefined" % file snippet: > instance Monoid Test where > mempty = A % ^ > -- empty for linenumbers in T16804 to be correct % output: undefined :: Test % executing: ":uses T16804a.hs 7 10 7 15" % file snippet: > deriving (Show) > instance Monoid Test where % ^~~~~^ > mempty = A % output: % executing: ":uses T16804a.hs 7 17 7 20" % file snippet: > deriving (Show) > instance Monoid Test where % ^~~^ > mempty = A % output: % executing: ":uses T16804a.hs 7 10 7 20" % file snippet: > deriving (Show) > instance Monoid Test where % ^~~~~~~~~~^ > mempty = A % output: T16804a.hs:(7,10)-(7,20) T16804a.hs:(7,10)-(7,20) % executing: ":uses T16804a.hs 8 3 8 8" % file snippet: > instance Monoid Test where > mempty = A % ^~~~~^ > -- empty for linenumbers in T16804 to be correct % output: T16804a.hs:(8,3)-(8,8) T16804a.hs:(8,3)-(8,8) % executing: ":uses T16804a.hs 8 12 8 12" % file snippet: > instance Monoid Test where > mempty = A % ^ > -- empty for linenumbers in T16804 to be correct % output: % executing: ":type-at T16804a.hs 12 1 12 12 undefined" % file snippet: > > testFunction :: Test -> Test -> Bool % ^~~~~~~~~~~^ > testFunction A B = True % output: undefined :: forall {a}. a % executing: ":type-at T16804a.hs 13 1 13 12 undefined" % file snippet: > testFunction :: Test -> Test -> Bool > testFunction A B = True % ^~~~~~~~~~~^ > testFunction B A = True % output: undefined :: Test -> Test -> Bool % executing: ":type-at T16804a.hs 13 14 13 14 undefined" % file snippet: > testFunction :: Test -> Test -> Bool > testFunction A B = True % ^ > testFunction B A = True % output: undefined :: Test % executing: ":type-at T16804a.hs 13 16 13 16 undefined" % file snippet: > testFunction :: Test -> Test -> Bool > testFunction A B = True % ^ > testFunction B A = True % output: undefined :: Test % executing: ":type-at T16804a.hs 15 16 15 16 undefined" % file snippet: > testFunction B A = True > testFunction _ _ = False % ^ > % output: undefined :: Test % executing: ":type-at T16804a.hs 15 20 15 24 undefined" % file snippet: > testFunction B A = True > testFunction _ _ = False % ^~~~^ > % output: undefined :: Bool % executing: ":uses T16804a.hs 12 1 12 12" % file snippet: > > testFunction :: Test -> Test -> Bool % ^~~~~~~~~~~^ > testFunction A B = True % output: % executing: ":uses T16804a.hs 13 1 13 12" % file snippet: > testFunction :: Test -> Test -> Bool > testFunction A B = True % ^~~~~~~~~~~^ > testFunction B A = True % output: T16804a.hs:(13,1)-(13,12) T16804a.hs:(13,1)-(13,12) % executing: ":uses T16804a.hs 13 14 13 14" % file snippet: > testFunction :: Test -> Test -> Bool > testFunction A B = True % ^ > testFunction B A = True % output: % executing: ":uses T16804a.hs 13 16 13 16" % file snippet: > testFunction :: Test -> Test -> Bool > testFunction A B = True % ^ > testFunction B A = True % output: % executing: ":uses T16804a.hs 15 16 15 16" % file snippet: > testFunction B A = True > testFunction _ _ = False % ^ > % output: % executing: ":uses T16804a.hs 15 20 15 24" % file snippet: > testFunction B A = True > testFunction _ _ = False % ^~~~^ > % output: % executing: ":type-at T16804a.hs 18 15 18 18 undefined" % file snippet: > testFunction2 :: Bool -> Test > testFunction2 True = A % ^~~^ > testFunction2 False = B % output: undefined :: Bool % executing: ":type-at T16804a.hs 18 22 18 22 undefined" % file snippet: > testFunction2 :: Bool -> Test > testFunction2 True = A % ^ > testFunction2 False = B % output: undefined :: Test % executing: ":uses T16804a.hs 18 15 18 18" % file snippet: > testFunction2 :: Bool -> Test > testFunction2 True = A % ^~~^ > testFunction2 False = B % output: % executing: ":uses T16804a.hs 18 22 18 22" % file snippet: > testFunction2 :: Bool -> Test > testFunction2 True = A % ^ > testFunction2 False = B % output: % executing: ":type-at T16804a.hs 22 13 22 18 undefined" % file snippet: > niceValue :: Int > niceValue = getSum (Sum 1 <> Sum 2 <> mempty) % ^~~~~^ > % output: undefined :: Sum Int -> Int % executing: ":type-at T16804a.hs 22 21 22 23 undefined" % file snippet: > niceValue :: Int > niceValue = getSum (Sum 1 <> Sum 2 <> mempty) % ^~^ > % output: undefined :: Int -> Sum Int % executing: ":type-at T16804a.hs 22 25 22 25 undefined" % file snippet: > niceValue :: Int > niceValue = getSum (Sum 1 <> Sum 2 <> mempty) % ^ > % output: undefined :: Int % executing: ":type-at T16804a.hs 22 21 22 25 undefined" % file snippet: > niceValue :: Int > niceValue = getSum (Sum 1 <> Sum 2 <> mempty) % ^~~~^ > % output: undefined :: Sum Int % executing: ":type-at T16804a.hs 22 27 22 28 undefined" % file snippet: > niceValue :: Int > niceValue = getSum (Sum 1 <> Sum 2 <> mempty) % ^^ > % output: undefined :: Sum Int -> Sum Int -> Sum Int % executing: ":uses T16804a.hs 22 13 22 18" % file snippet: > niceValue :: Int > niceValue = getSum (Sum 1 <> Sum 2 <> mempty) % ^~~~~^ > % output: % executing: ":uses T16804a.hs 22 21 22 23" % file snippet: > niceValue :: Int > niceValue = getSum (Sum 1 <> Sum 2 <> mempty) % ^~^ > % output: % executing: ":uses T16804a.hs 22 25 22 25" % file snippet: > niceValue :: Int > niceValue = getSum (Sum 1 <> Sum 2 <> mempty) % ^ > % output: % executing: ":uses T16804a.hs 22 21 22 25" % file snippet: > niceValue :: Int > niceValue = getSum (Sum 1 <> Sum 2 <> mempty) % ^~~~^ > % output: % executing: ":uses T16804a.hs 22 27 22 28" % file snippet: > niceValue :: Int > niceValue = getSum (Sum 1 <> Sum 2 <> mempty) % ^^ > % output: % executing: ":type-at T16804a.hs 25 14 25 14 undefined" % file snippet: > niceValue2 :: Test > niceValue2 = A <> A <> A <> B <> A <> mempty % ^ > % output: undefined :: Test % executing: ":type-at T16804a.hs 25 16 25 17 undefined" % file snippet: > niceValue2 :: Test > niceValue2 = A <> A <> A <> B <> A <> mempty % ^^ > % output: undefined :: Test -> Test -> Test % executing: ":type-at T16804a.hs 25 39 25 44 undefined" % file snippet: > niceValue2 :: Test > niceValue2 = A <> A <> A <> B <> A <> mempty % ^~~~~^ > % output: undefined :: Test % executing: ":uses T16804a.hs 25 14 25 14" % file snippet: > niceValue2 :: Test > niceValue2 = A <> A <> A <> B <> A <> mempty % ^ > % output: % executing: ":uses T16804a.hs 25 16 25 17" % file snippet: > niceValue2 :: Test > niceValue2 = A <> A <> A <> B <> A <> mempty % ^^ > % output: % executing: ":uses T16804a.hs 25 39 25 44" % file snippet: > niceValue2 :: Test > niceValue2 = A <> A <> A <> B <> A <> mempty % ^~~~~^ > % output: % executing: ":type-at T16804a.hs 28 3 28 3 undefined" % file snippet: > instance Semigroup Test where > A <> val = val % ^ > B <> _ = B % output: undefined :: Test % executing: ":type-at T16804a.hs 28 5 28 6 undefined" % file snippet: > instance Semigroup Test where > A <> val = val % ^^ > B <> _ = B % output: undefined :: Test -> Test -> Test % executing: ":type-at T16804a.hs 28 8 28 10 undefined" % file snippet: > instance Semigroup Test where > A <> val = val % ^~^ > B <> _ = B % output: undefined :: Test % executing: ":type-at T16804a.hs 28 14 28 16 undefined" % file snippet: > instance Semigroup Test where > A <> val = val % ^~^ > B <> _ = B % output: undefined :: Test % executing: ":type-at T16804a.hs 29 3 29 3 undefined" % file snippet: > A <> val = val > B <> _ = B % ^ % output: undefined :: Test % executing: ":type-at T16804a.hs 29 5 29 6 undefined" % file snippet: > A <> val = val > B <> _ = B % ^^ % output: undefined :: forall {a}. a % executing: ":type-at T16804a.hs 29 8 29 8 undefined" % file snippet: > A <> val = val > B <> _ = B % ^ % output: undefined :: Test % executing: ":type-at T16804a.hs 29 14 29 14 undefined" % file snippet: > A <> val = val > B <> _ = B % ^ % output: undefined :: Test % executing: ":uses T16804a.hs 28 3 28 3" % file snippet: > instance Semigroup Test where > A <> val = val % ^ > B <> _ = B % output: % executing: ":uses T16804a.hs 28 5 28 6" % file snippet: > instance Semigroup Test where > A <> val = val % ^^ > B <> _ = B % output: T16804a.hs:(28,5)-(28,6) T16804a.hs:(28,5)-(28,6) % executing: ":uses T16804a.hs 28 8 28 10" % file snippet: > instance Semigroup Test where > A <> val = val % ^~^ > B <> _ = B % output: T16804a.hs:(28,8)-(28,10) T16804a.hs:(28,14)-(28,16) T16804a.hs:(28,8)-(28,10) % executing: ":uses T16804a.hs 28 14 28 16" % file snippet: > instance Semigroup Test where > A <> val = val % ^~^ > B <> _ = B % output: T16804a.hs:(28,8)-(28,10) T16804a.hs:(28,14)-(28,16) T16804a.hs:(28,8)-(28,10) % executing: ":uses T16804a.hs 29 3 29 3" % file snippet: > A <> val = val > B <> _ = B % ^ % output: % executing: ":uses T16804a.hs 29 5 29 6" % file snippet: > A <> val = val > B <> _ = B % ^^ % output: % executing: ":uses T16804a.hs 29 8 29 8" % file snippet: > A <> val = val > B <> _ = B % ^ % output: % executing: ":uses T16804a.hs 29 14 29 14" % file snippet: > A <> val = val > B <> _ = B % ^ % output: % executing: ":type-at T16804b.hs 7 10 7 21 undefined" % file snippet: > printStuff = do > print (testFunction A A) % ^~~~~~~~~~~^ > print (testFunction2 True) % output: undefined :: Test -> Test -> Bool % executing: ":type-at T16804b.hs 7 10 7 23 undefined" % file snippet: > printStuff = do > print (testFunction A A) % ^~~~~~~~~~~~~^ > print (testFunction2 True) % output: undefined :: Test -> Bool % executing: ":type-at T16804b.hs 7 10 7 25 undefined" % file snippet: > printStuff = do > print (testFunction A A) % ^~~~~~~~~~~~~~~^ > print (testFunction2 True) % output: undefined :: Bool % executing: ":type-at T16804b.hs 7 23 7 23 undefined" % file snippet: > printStuff = do > print (testFunction A A) % ^ > print (testFunction2 True) % output: undefined :: Test % executing: ":uses T16804b.hs 7 10 7 21" % file snippet: > printStuff = do > print (testFunction A A) % ^~~~~~~~~~~^ > print (testFunction2 True) % output: T16804a.hs:(13,1)-(13,12) T16804b.hs:(7,10)-(7,21) % executing: ":uses T16804b.hs 7 10 7 25" % file snippet: > printStuff = do > print (testFunction A A) % ^~~~~~~~~~~~~~~^ > print (testFunction2 True) % output: T16804a.hs:(13,1)-(13,12) T16804b.hs:(7,10)-(7,21) % executing: ":uses T16804b.hs 7 23 7 23" % file snippet: > printStuff = do > print (testFunction A A) % ^ > print (testFunction2 True) % output: % executing: ":type-at T16804b.hs 8 10 8 22 undefined" % file snippet: > print (testFunction A A) > print (testFunction2 True) % ^~~~~~~~~~~~^ > print (testFunction2 False) % output: undefined :: Bool -> Test % executing: ":type-at T16804b.hs 8 10 8 27 undefined" % file snippet: > print (testFunction A A) > print (testFunction2 True) % ^~~~~~~~~~~~~~~~~^ > print (testFunction2 False) % output: undefined :: Test % executing: ":type-at T16804b.hs 10 9 10 17 undefined" % file snippet: > print (testFunction2 False) > print niceValue % ^~~~~~~~^ % output: undefined :: Int % executing: ":uses T16804b.hs 10 9 10 17" % file snippet: > print (testFunction2 False) > print niceValue % ^~~~~~~~^ % output: T16804a.hs:(22,1)-(22,9) T16804b.hs:(10,9)-(10,17) % executing: ":uses T16804c.hs 5 1 5 1" % file snippet: > > a :: Test % ^ > a = A % output: % executing: ":uses T16804c.hs 6 1 6 1" % file snippet: > a :: Test > a = A % ^ > % output: T16804c.hs:(6,1)-(6,1) T16804c.hs:(6,1)-(6,1) % executing: ":uses T16804c.hs 9 12 9 14" % file snippet: > localScope :: Test -> Bool > localScope arg = testFunction a arg % ^~^ > % output: T16804c.hs:(9,12)-(9,14) T16804c.hs:(9,33)-(9,35) T16804c.hs:(9,12)-(9,14) % executing: ":uses T16804c.hs 9 31 9 31" % file snippet: > localScope :: Test -> Bool > localScope arg = testFunction a arg % ^ > % output: T16804c.hs:(6,1)-(6,1) T16804c.hs:(9,31)-(9,31) % executing: ":uses T16804c.hs 9 33 9 35" % file snippet: > localScope :: Test -> Bool > localScope arg = testFunction a arg % ^~^ > % output: T16804c.hs:(9,12)-(9,14) T16804c.hs:(9,33)-(9,35) T16804c.hs:(9,12)-(9,14) % executing: ":uses T16804c.hs 12 13 12 13" % file snippet: > localScope2 :: Test -> Bool > localScope2 a = testFunction B a % ^ > % output: T16804c.hs:(12,13)-(12,13) T16804c.hs:(12,32)-(12,32) T16804c.hs:(12,13)-(12,13) % executing: ":uses T16804c.hs 12 32 12 32" % file snippet: > localScope2 :: Test -> Bool > localScope2 a = testFunction B a % ^ > % output: T16804c.hs:(12,13)-(12,13) T16804c.hs:(12,32)-(12,32) T16804c.hs:(12,13)-(12,13) % executing: ":uses T16804c.hs 15 13 15 13" % file snippet: > localScope3 :: Test -> Bool > localScope3 a = testFunction a A % ^ % output: T16804c.hs:(15,13)-(15,13) T16804c.hs:(15,30)-(15,30) T16804c.hs:(15,13)-(15,13) % executing: ":uses T16804c.hs 15 30 15 30" % file snippet: > localScope3 :: Test -> Bool > localScope3 a = testFunction a A % ^ % output: T16804c.hs:(15,13)-(15,13) T16804c.hs:(15,30)-(15,30) T16804c.hs:(15,13)-(15,13)