ParseOk ( Module SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 1 1 26 1 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 1 1 1 1 , SrcSpan "tests/examples/Overlapping.hs" 2 1 2 1 , SrcSpan "tests/examples/Overlapping.hs" 4 1 4 1 , SrcSpan "tests/examples/Overlapping.hs" 4 1 4 1 , SrcSpan "tests/examples/Overlapping.hs" 6 1 6 1 , SrcSpan "tests/examples/Overlapping.hs" 9 1 9 1 , SrcSpan "tests/examples/Overlapping.hs" 12 1 12 1 , SrcSpan "tests/examples/Overlapping.hs" 15 1 15 1 , SrcSpan "tests/examples/Overlapping.hs" 18 1 18 1 , SrcSpan "tests/examples/Overlapping.hs" 26 1 26 1 , SrcSpan "tests/examples/Overlapping.hs" 26 1 26 1 ] } (Just (ModuleHead SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 4 1 4 25 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 4 1 4 7 , SrcSpan "tests/examples/Overlapping.hs" 4 20 4 25 ] } (ModuleName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 4 8 4 19 , srcInfoPoints = [] } "Overlapping") Nothing Nothing)) [ LanguagePragma SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 1 1 1 39 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 1 1 1 13 , SrcSpan "tests/examples/Overlapping.hs" 1 36 1 39 ] } [ Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 1 14 1 31 , srcInfoPoints = [] } "FlexibleInstances" ] , LanguagePragma SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 2 1 2 39 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 2 1 2 13 , SrcSpan "tests/examples/Overlapping.hs" 2 36 2 39 ] } [ Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 2 14 2 35 , srcInfoPoints = [] } "MultiParamTypeClasses" ] ] [] [ ClassDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 1 7 22 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 6 1 6 6 , SrcSpan "tests/examples/Overlapping.hs" 6 13 6 18 , SrcSpan "tests/examples/Overlapping.hs" 7 3 7 3 , SrcSpan "tests/examples/Overlapping.hs" 9 1 9 0 ] } Nothing (DHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 12 , srcInfoPoints = [] } (DHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 10 , srcInfoPoints = [] } (DHead SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 8 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 8 , srcInfoPoints = [] } "C")) (UnkindedVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 9 6 10 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 9 6 10 , srcInfoPoints = [] } "a"))) (UnkindedVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 11 6 12 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 11 6 12 , srcInfoPoints = [] } "b"))) [] (Just [ ClsDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 3 7 22 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 7 5 7 7 ] } (TypeSig SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 3 7 22 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 7 5 7 7 ] } [ Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 3 7 4 , srcInfoPoints = [] } "f" ] (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 8 7 22 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 7 10 7 12 ] } (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 8 7 9 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 8 7 9 , srcInfoPoints = [] } "a")) (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 13 7 22 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 7 15 7 17 ] } (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 13 7 14 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 13 7 14 , srcInfoPoints = [] } "b")) (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 18 7 22 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 18 7 22 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 18 7 22 , srcInfoPoints = [] } "Bool")))))) ]) , InstDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 1 12 0 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 9 1 9 9 , SrcSpan "tests/examples/Overlapping.hs" 9 16 9 21 , SrcSpan "tests/examples/Overlapping.hs" 10 3 10 3 , SrcSpan "tests/examples/Overlapping.hs" 12 1 12 0 ] } Nothing (IRule SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 15 , srcInfoPoints = [] } Nothing Nothing (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 15 , srcInfoPoints = [] } (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 13 , srcInfoPoints = [] } (IHCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 11 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 11 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 11 , srcInfoPoints = [] } "C"))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 12 9 13 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 12 9 13 , srcInfoPoints = [] } "a"))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 14 9 15 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 14 9 15 , srcInfoPoints = [] } "b")))) (Just [ InsDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 16 , srcInfoPoints = [] } (FunBind SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 16 , srcInfoPoints = [] } [ Match SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 16 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 4 , srcInfoPoints = [] } "f") [ PWildCard SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 5 10 6 , srcInfoPoints = [] } , PWildCard SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 7 10 8 , srcInfoPoints = [] } ] (UnGuardedRhs SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 9 10 16 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 10 9 10 10 ] } (Con SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 11 10 16 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 11 10 16 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 11 10 16 , srcInfoPoints = [] } "False")))) Nothing ]) ]) , InstDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 1 15 0 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 12 1 12 9 , SrcSpan "tests/examples/Overlapping.hs" 12 36 12 41 , SrcSpan "tests/examples/Overlapping.hs" 13 3 13 3 , SrcSpan "tests/examples/Overlapping.hs" 15 1 15 0 ] } (Just (Overlapping SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 10 12 25 , srcInfoPoints = [] })) (IRule SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 35 , srcInfoPoints = [] } Nothing Nothing (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 35 , srcInfoPoints = [] } (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 33 , srcInfoPoints = [] } (IHCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 31 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 31 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 31 , srcInfoPoints = [] } "C"))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 32 12 33 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 32 12 33 , srcInfoPoints = [] } "a"))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 34 12 35 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 34 12 35 , srcInfoPoints = [] } "a")))) (Just [ InsDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 15 , srcInfoPoints = [] } (FunBind SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 15 , srcInfoPoints = [] } [ Match SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 15 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 4 , srcInfoPoints = [] } "f") [ PWildCard SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 5 13 6 , srcInfoPoints = [] } , PWildCard SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 7 13 8 , srcInfoPoints = [] } ] (UnGuardedRhs SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 9 13 15 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 13 9 13 10 ] } (Con SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 11 13 15 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 11 13 15 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 11 13 15 , srcInfoPoints = [] } "True")))) Nothing ]) ]) , InstDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 1 18 0 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 15 1 15 9 , SrcSpan "tests/examples/Overlapping.hs" 15 33 15 38 , SrcSpan "tests/examples/Overlapping.hs" 16 3 16 3 , SrcSpan "tests/examples/Overlapping.hs" 18 1 18 0 ] } (Just (Overlaps SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 10 15 22 , srcInfoPoints = [] })) (IRule SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 32 , srcInfoPoints = [] } Nothing Nothing (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 32 , srcInfoPoints = [] } (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 30 , srcInfoPoints = [] } (IHCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 28 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 28 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 28 , srcInfoPoints = [] } "C"))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 29 15 30 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 29 15 30 , srcInfoPoints = [] } "a"))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 31 15 32 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 31 15 32 , srcInfoPoints = [] } "a")))) (Just [ InsDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 15 , srcInfoPoints = [] } (FunBind SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 15 , srcInfoPoints = [] } [ Match SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 15 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 4 , srcInfoPoints = [] } "f") [ PWildCard SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 5 16 6 , srcInfoPoints = [] } , PWildCard SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 7 16 8 , srcInfoPoints = [] } ] (UnGuardedRhs SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 9 16 15 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 16 9 16 10 ] } (Con SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 11 16 15 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 11 16 15 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 11 16 15 , srcInfoPoints = [] } "True")))) Nothing ]) ]) , InstDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 1 26 0 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 18 1 18 9 , SrcSpan "tests/examples/Overlapping.hs" 18 37 18 42 , SrcSpan "tests/examples/Overlapping.hs" 19 3 19 3 , SrcSpan "tests/examples/Overlapping.hs" 26 1 26 0 ] } (Just (Overlappable SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 10 18 26 , srcInfoPoints = [] })) (IRule SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 36 , srcInfoPoints = [] } Nothing Nothing (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 36 , srcInfoPoints = [] } (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 34 , srcInfoPoints = [] } (IHCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 32 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 32 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 32 , srcInfoPoints = [] } "C"))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 33 18 34 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 33 18 34 , srcInfoPoints = [] } "a"))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 35 18 36 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 35 18 36 , srcInfoPoints = [] } "a")))) (Just [ InsDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 15 , srcInfoPoints = [] } (FunBind SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 15 , srcInfoPoints = [] } [ Match SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 15 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 4 , srcInfoPoints = [] } "f") [ PWildCard SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 5 19 6 , srcInfoPoints = [] } , PWildCard SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 7 19 8 , srcInfoPoints = [] } ] (UnGuardedRhs SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 9 19 15 , srcInfoPoints = [ SrcSpan "tests/examples/Overlapping.hs" 19 9 19 10 ] } (Con SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 11 19 15 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 11 19 15 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 11 19 15 , srcInfoPoints = [] } "True")))) Nothing ]) ]) ] , [ Comment False (SrcSpan "tests/examples/Overlapping.hs" 21 1 21 17) " >>> f 'a' 'b'" , Comment False (SrcSpan "tests/examples/Overlapping.hs" 22 1 22 8) " True" , Comment False (SrcSpan "tests/examples/Overlapping.hs" 23 1 23 3) "" , Comment False (SrcSpan "tests/examples/Overlapping.hs" 24 1 24 24) " >>> f 'a' \"starfish\"" , Comment False (SrcSpan "tests/examples/Overlapping.hs" 25 1 25 9) " False" ] )