ParseOk ( Module SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 1 5 1 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 1 1 1 , SrcSpan "tests/examples/SpecializeInstance.hs" 1 1 1 1 , SrcSpan "tests/examples/SpecializeInstance.hs" 1 1 1 1 , SrcSpan "tests/examples/SpecializeInstance.hs" 5 1 5 1 , SrcSpan "tests/examples/SpecializeInstance.hs" 5 1 5 1 ] } Nothing [] [] [ InstDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 1 5 0 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 1 1 9 , SrcSpan "tests/examples/SpecializeInstance.hs" 1 37 1 42 , SrcSpan "tests/examples/SpecializeInstance.hs" 2 8 2 8 , SrcSpan "tests/examples/SpecializeInstance.hs" 3 8 3 8 , SrcSpan "tests/examples/SpecializeInstance.hs" 4 8 4 8 , SrcSpan "tests/examples/SpecializeInstance.hs" 5 1 5 0 ] } Nothing (IRule SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 36 , srcInfoPoints = [] } Nothing (Just (CxSingle SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ] } (ClassA SrcSpanInfo { srcInfoSpan = 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 = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17 , srcInfoPoints = [] } "a") ]))) (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 21 1 36 , srcInfoPoints = [] } (IHCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 21 1 26 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 21 1 26 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 21 1 26 , srcInfoPoints = [] } "Sized"))) (TyParen SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 27 1 36 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 27 1 28 , SrcSpan "tests/examples/SpecializeInstance.hs" 1 35 1 36 ] } (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 28 1 35 , srcInfoPoints = [] } (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 28 1 33 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 28 1 33 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 28 1 33 , srcInfoPoints = [] } "Digit"))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 34 1 35 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 34 1 35 , srcInfoPoints = [] } "a")))))) (Just [ InsDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 8 2 58 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 2 8 2 22 , SrcSpan "tests/examples/SpecializeInstance.hs" 2 23 2 31 , SrcSpan "tests/examples/SpecializeInstance.hs" 2 55 2 58 ] } (InstSig SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 8 2 58 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 2 8 2 22 , SrcSpan "tests/examples/SpecializeInstance.hs" 2 23 2 31 , SrcSpan "tests/examples/SpecializeInstance.hs" 2 55 2 58 ] } (IRule SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 32 2 54 , srcInfoPoints = [] } Nothing Nothing (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 32 2 54 , srcInfoPoints = [] } (IHCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 32 2 37 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 32 2 37 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 32 2 37 , srcInfoPoints = [] } "Sized"))) (TyParen SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 38 2 54 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 2 38 2 39 , SrcSpan "tests/examples/SpecializeInstance.hs" 2 53 2 54 ] } (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 39 2 53 , srcInfoPoints = [] } (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 39 2 44 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 39 2 44 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 39 2 44 , srcInfoPoints = [] } "Digit"))) (TyParen SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 45 2 53 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 2 45 2 46 , SrcSpan "tests/examples/SpecializeInstance.hs" 2 52 2 53 ] } (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 46 2 52 , srcInfoPoints = [] } (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 46 2 50 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 46 2 50 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 46 2 50 , srcInfoPoints = [] } "Elem"))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 51 2 52 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 2 51 2 52 , srcInfoPoints = [] } "a"))))))))) , InsDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 8 3 58 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 3 8 3 22 , SrcSpan "tests/examples/SpecializeInstance.hs" 3 23 3 31 , SrcSpan "tests/examples/SpecializeInstance.hs" 3 55 3 58 ] } (InstSig SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 8 3 58 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 3 8 3 22 , SrcSpan "tests/examples/SpecializeInstance.hs" 3 23 3 31 , SrcSpan "tests/examples/SpecializeInstance.hs" 3 55 3 58 ] } (IRule SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 32 3 54 , srcInfoPoints = [] } Nothing Nothing (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 32 3 54 , srcInfoPoints = [] } (IHCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 32 3 37 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 32 3 37 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 32 3 37 , srcInfoPoints = [] } "Sized"))) (TyParen SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 38 3 54 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 3 38 3 39 , SrcSpan "tests/examples/SpecializeInstance.hs" 3 53 3 54 ] } (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 39 3 53 , srcInfoPoints = [] } (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 39 3 44 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 39 3 44 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 39 3 44 , srcInfoPoints = [] } "Digit"))) (TyParen SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 45 3 53 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 3 45 3 46 , SrcSpan "tests/examples/SpecializeInstance.hs" 3 52 3 53 ] } (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 46 3 52 , srcInfoPoints = [] } (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 46 3 50 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 46 3 50 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 46 3 50 , srcInfoPoints = [] } "Node"))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 51 3 52 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 3 51 3 52 , srcInfoPoints = [] } "a"))))))))) , InsDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 8 4 50 , srcInfoPoints = [] } (FunBind SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 8 4 50 , srcInfoPoints = [] } [ Match SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 8 4 50 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 8 4 12 , srcInfoPoints = [] } "size") [ PVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 13 4 15 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 13 4 15 , srcInfoPoints = [] } "xs") ] (UnGuardedRhs SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 16 4 50 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 4 16 4 17 ] } (App SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 18 4 50 , srcInfoPoints = [] } (App SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 18 4 47 , srcInfoPoints = [] } (App SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 18 4 45 , srcInfoPoints = [] } (Var SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 18 4 23 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 18 4 23 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 18 4 23 , srcInfoPoints = [] } "foldl"))) (Paren SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 24 4 45 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 4 24 4 25 , SrcSpan "tests/examples/SpecializeInstance.hs" 4 44 4 45 ] } (Lambda SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 25 4 44 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 4 25 4 26 , SrcSpan "tests/examples/SpecializeInstance.hs" 4 31 4 33 ] } [ PVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 27 4 28 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 27 4 28 , srcInfoPoints = [] } "i") , PVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 29 4 30 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 29 4 30 , srcInfoPoints = [] } "x") ] (InfixApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 34 4 44 , srcInfoPoints = [] } (Var SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 34 4 35 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 34 4 35 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 34 4 35 , srcInfoPoints = [] } "i"))) (QVarOp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 36 4 37 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 36 4 37 , srcInfoPoints = [] } (Symbol SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 36 4 37 , srcInfoPoints = [] } "+"))) (App SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 38 4 44 , srcInfoPoints = [] } (Var SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 38 4 42 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 38 4 42 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 38 4 42 , srcInfoPoints = [] } "size"))) (Var SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 43 4 44 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 43 4 44 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 43 4 44 , srcInfoPoints = [] } "x")))))))) (Lit SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 46 4 47 , srcInfoPoints = [] } (Int SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 46 4 47 , srcInfoPoints = [] } 0 "0"))) (Var SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 48 4 50 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 48 4 50 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 4 48 4 50 , srcInfoPoints = [] } "xs"))))) Nothing ]) ]) ] , [] )