@@ -37,7 +37,7 @@ everywhereOnValues f g h = (f', g', h')
37 f' (BindingGroupDeclaration ds) = f (BindingGroupDeclaration (map (\(name, nameKind, val) -> (name, nameKind, g' val)) ds))
37 f' (BindingGroupDeclaration ds) = f (BindingGroupDeclaration (map (\(name, nameKind, val) -> (name, nameKind, g' val)) ds))
38 f' (TypeClassDeclaration name args implies ds) = f (TypeClassDeclaration name args implies (map f' ds))
38 f' (TypeClassDeclaration name args implies ds) = f (TypeClassDeclaration name args implies (map f' ds))
39 f' (TypeInstanceDeclaration name cs className args ds) = f (TypeInstanceDeclaration name cs className args (map f' ds))
39 f' (TypeInstanceDeclaration name cs className args ds) = f (TypeInstanceDeclaration name cs className args (map f' ds))
40− f' (PositionedDeclaration pos d) = f (PositionedDeclaration pos (f' d))
40+ f' (PositionedDeclaration pos com d) = f (PositionedDeclaration pos com (f' d))
41 f' other = f other
41 f' other = f other
43 g' :: Expr -> Expr
43 g' :: Expr -> Expr
@@ -56,7 +56,7 @@ everywhereOnValues f g h = (f', g', h')
56 g' (TypedValue check v ty) = g (TypedValue check (g' v) ty)
56 g' (TypedValue check v ty) = g (TypedValue check (g' v) ty)
57 g' (Let ds v) = g (Let (map f' ds) (g' v))
57 g' (Let ds v) = g (Let (map f' ds) (g' v))
58 g' (Do es) = g (Do (map handleDoNotationElement es))
58 g' (Do es) = g (Do (map handleDoNotationElement es))
59− g' (PositionedValue pos v) = g (PositionedValue pos (g' v))
59+ g' (PositionedValue pos com v) = g (PositionedValue pos com (g' v))
60 g' other = g other
60 g' other = g other
62 h' :: Binder -> Binder
62 h' :: Binder -> Binder
@@ -65,7 +65,7 @@ everywhereOnValues f g h = (f', g', h')
65 h' (ArrayBinder bs) = h (ArrayBinder (map h' bs))
65 h' (ArrayBinder bs) = h (ArrayBinder (map h' bs))
66 h' (ConsBinder b1 b2) = h (ConsBinder (h' b1) (h' b2))
66 h' (ConsBinder b1 b2) = h (ConsBinder (h' b1) (h' b2))
67 h' (NamedBinder name b) = h (NamedBinder name (h' b))
67 h' (NamedBinder name b) = h (NamedBinder name (h' b))
68− h' (PositionedBinder pos b) = h (PositionedBinder pos (h' b))
68+ h' (PositionedBinder pos com b) = h (PositionedBinder pos com (h' b))
69 h' other = h other
69 h' other = h other
71 handleCaseAlternative :: CaseAlternative -> CaseAlternative
71 handleCaseAlternative :: CaseAlternative -> CaseAlternative
@@ -78,7 +78,7 @@ everywhereOnValues f g h = (f', g', h')
78 handleDoNotationElement (DoNotationValue v) = DoNotationValue (g' v)
78 handleDoNotationElement (DoNotationValue v) = DoNotationValue (g' v)
79 handleDoNotationElement (DoNotationBind b v) = DoNotationBind (h' b) (g' v)
79 handleDoNotationElement (DoNotationBind b v) = DoNotationBind (h' b) (g' v)
80 handleDoNotationElement (DoNotationLet ds) = DoNotationLet (map f' ds)
80 handleDoNotationElement (DoNotationLet ds) = DoNotationLet (map f' ds)
81− handleDoNotationElement (PositionedDoNotationElement pos e) = PositionedDoNotationElement pos (handleDoNotationElement e)
81+ handleDoNotationElement (PositionedDoNotationElement pos com e) = PositionedDoNotationElement pos com (handleDoNotationElement e)
84everywhereOnValuesTopDownM :: (Functor m, Applicative m, Monad m) =>
84everywhereOnValuesTopDownM :: (Functor m, Applicative m, Monad m) =>
@@ -93,7 +93,7 @@ everywhereOnValuesTopDownM f g h = (f' <=< f, g' <=< g, h' <=< h)
93 f' (BindingGroupDeclaration ds) = BindingGroupDeclaration <$> mapM (\(name, nameKind, val) -> (,,) name nameKind <$> (g val >>= g')) ds
93 f' (BindingGroupDeclaration ds) = BindingGroupDeclaration <$> mapM (\(name, nameKind, val) -> (,,) name nameKind <$> (g val >>= g')) ds
94 f' (TypeClassDeclaration name args implies ds) = TypeClassDeclaration name args implies <$> mapM (f' <=< f) ds
94 f' (TypeClassDeclaration name args implies ds) = TypeClassDeclaration name args implies <$> mapM (f' <=< f) ds
95 f' (TypeInstanceDeclaration name cs className args ds) = TypeInstanceDeclaration name cs className args <$> mapM (f' <=< f) ds
95 f' (TypeInstanceDeclaration name cs className args ds) = TypeInstanceDeclaration name cs className args <$> mapM (f' <=< f) ds
96− f' (PositionedDeclaration pos d) = PositionedDeclaration pos <$> (f d >>= f')
96+ f' (PositionedDeclaration pos com d) = PositionedDeclaration pos com <$> (f d >>= f')
97 f' other = f other
97 f' other = f other
99 g' (UnaryMinus v) = UnaryMinus <$> (g v >>= g')
99 g' (UnaryMinus v) = UnaryMinus <$> (g v >>= g')
@@ -111,7 +111,7 @@ everywhereOnValuesTopDownM f g h = (f' <=< f, g' <=< g, h' <=< h)
111 g' (TypedValue check v ty) = TypedValue check <$> (g v >>= g') <*> pure ty
111 g' (TypedValue check v ty) = TypedValue check <$> (g v >>= g') <*> pure ty
112 g' (Let ds v) = Let <$> mapM (f' <=< f) ds <*> (g v >>= g')
112 g' (Let ds v) = Let <$> mapM (f' <=< f) ds <*> (g v >>= g')
113 g' (Do es) = Do <$> mapM handleDoNotationElement es
113 g' (Do es) = Do <$> mapM handleDoNotationElement es
114− g' (PositionedValue pos v) = PositionedValue pos <$> (g v >>= g')
114+ g' (PositionedValue pos com v) = PositionedValue pos com <$> (g v >>= g')
115 g' other = g other
115 g' other = g other
117 h' (ConstructorBinder ctor bs) = ConstructorBinder ctor <$> mapM (h' <=< h) bs
117 h' (ConstructorBinder ctor bs) = ConstructorBinder ctor <$> mapM (h' <=< h) bs
@@ -119,7 +119,7 @@ everywhereOnValuesTopDownM f g h = (f' <=< f, g' <=< g, h' <=< h)
119 h' (ArrayBinder bs) = ArrayBinder <$> mapM (h' <=< h) bs
119 h' (ArrayBinder bs) = ArrayBinder <$> mapM (h' <=< h) bs
120 h' (ConsBinder b1 b2) = ConsBinder <$> (h b1 >>= h') <*> (h b2 >>= h')
120 h' (ConsBinder b1 b2) = ConsBinder <$> (h b1 >>= h') <*> (h b2 >>= h')
121 h' (NamedBinder name b) = NamedBinder name <$> (h b >>= h')
121 h' (NamedBinder name b) = NamedBinder name <$> (h b >>= h')
122− h' (PositionedBinder pos b) = PositionedBinder pos <$> (h b >>= h')
122+ h' (PositionedBinder pos com b) = PositionedBinder pos com <$> (h b >>= h')
123 h' other = h other
123 h' other = h other
125 handleCaseAlternative (CaseAlternative bs val) = CaseAlternative <$> mapM (h' <=< h) bs
125 handleCaseAlternative (CaseAlternative bs val) = CaseAlternative <$> mapM (h' <=< h) bs
@@ -128,7 +128,7 @@ everywhereOnValuesTopDownM f g h = (f' <=< f, g' <=< g, h' <=< h)
128 handleDoNotationElement (DoNotationValue v) = DoNotationValue <$> (g' <=< g) v
128 handleDoNotationElement (DoNotationValue v) = DoNotationValue <$> (g' <=< g) v
129 handleDoNotationElement (DoNotationBind b v) = DoNotationBind <$> (h' <=< h) b <*> (g' <=< g) v
129 handleDoNotationElement (DoNotationBind b v) = DoNotationBind <$> (h' <=< h) b <*> (g' <=< g) v
130 handleDoNotationElement (DoNotationLet ds) = DoNotationLet <$> mapM (f' <=< f) ds
130 handleDoNotationElement (DoNotationLet ds) = DoNotationLet <$> mapM (f' <=< f) ds
131− handleDoNotationElement (PositionedDoNotationElement pos e) = PositionedDoNotationElement pos <$> handleDoNotationElement e
131+ handleDoNotationElement (PositionedDoNotationElement pos com e) = PositionedDoNotationElement pos com <$> handleDoNotationElement e
133everywhereOnValuesM :: (Functor m, Applicative m, Monad m) =>
133everywhereOnValuesM :: (Functor m, Applicative m, Monad m) =>
134 (Declaration -> m Declaration) ->
134 (Declaration -> m Declaration) ->
@@ -142,7 +142,7 @@ everywhereOnValuesM f g h = (f', g', h')
142 f' (BindingGroupDeclaration ds) = (BindingGroupDeclaration <$> mapM (\(name, nameKind, val) -> (,,) name nameKind <$> g' val) ds) >>= f
142 f' (BindingGroupDeclaration ds) = (BindingGroupDeclaration <$> mapM (\(name, nameKind, val) -> (,,) name nameKind <$> g' val) ds) >>= f
143 f' (TypeClassDeclaration name args implies ds) = (TypeClassDeclaration name args implies <$> mapM f' ds) >>= f
143 f' (TypeClassDeclaration name args implies ds) = (TypeClassDeclaration name args implies <$> mapM f' ds) >>= f
144 f' (TypeInstanceDeclaration name cs className args ds) = (TypeInstanceDeclaration name cs className args <$> mapM f' ds) >>= f
144 f' (TypeInstanceDeclaration name cs className args ds) = (TypeInstanceDeclaration name cs className args <$> mapM f' ds) >>= f
145− f' (PositionedDeclaration pos d) = (PositionedDeclaration pos <$> f' d) >>= f
145+ f' (PositionedDeclaration pos com d) = (PositionedDeclaration pos com <$> f' d) >>= f
146 f' other = f other
146 f' other = f other
148 g' (UnaryMinus v) = (UnaryMinus <$> g' v) >>= g
148 g' (UnaryMinus v) = (UnaryMinus <$> g' v) >>= g
@@ -160,7 +160,7 @@ everywhereOnValuesM f g h = (f', g', h')
160 g' (TypedValue check v ty) = (TypedValue check <$> g' v <*> pure ty) >>= g
160 g' (TypedValue check v ty) = (TypedValue check <$> g' v <*> pure ty) >>= g
161 g' (Let ds v) = (Let <$> mapM f' ds <*> g' v) >>= g
161 g' (Let ds v) = (Let <$> mapM f' ds <*> g' v) >>= g
162 g' (Do es) = (Do <$> mapM handleDoNotationElement es) >>= g
162 g' (Do es) = (Do <$> mapM handleDoNotationElement es) >>= g
163− g' (PositionedValue pos v) = (PositionedValue pos <$> g' v) >>= g
163+ g' (PositionedValue pos com v) = (PositionedValue pos com <$> g' v) >>= g
164 g' other = g other
164 g' other = g other
166 h' (ConstructorBinder ctor bs) = (ConstructorBinder ctor <$> mapM h' bs) >>= h
166 h' (ConstructorBinder ctor bs) = (ConstructorBinder ctor <$> mapM h' bs) >>= h
@@ -168,7 +168,7 @@ everywhereOnValuesM f g h = (f', g', h')
168 h' (ArrayBinder bs) = (ArrayBinder <$> mapM h' bs) >>= h
168 h' (ArrayBinder bs) = (ArrayBinder <$> mapM h' bs) >>= h
169 h' (ConsBinder b1 b2) = (ConsBinder <$> h' b1 <*> h' b2) >>= h
169 h' (ConsBinder b1 b2) = (ConsBinder <$> h' b1 <*> h' b2) >>= h
170 h' (NamedBinder name b) = (NamedBinder name <$> h' b) >>= h
170 h' (NamedBinder name b) = (NamedBinder name <$> h' b) >>= h
171− h' (PositionedBinder pos b) = (PositionedBinder pos <$> h' b) >>= h
171+ h' (PositionedBinder pos com b) = (PositionedBinder pos com <$> h' b) >>= h
172 h' other = h other
172 h' other = h other
174 handleCaseAlternative (CaseAlternative bs val) = CaseAlternative <$> mapM h' bs
174 handleCaseAlternative (CaseAlternative bs val) = CaseAlternative <$> mapM h' bs
@@ -177,7 +177,7 @@ everywhereOnValuesM f g h = (f', g', h')
177 handleDoNotationElement (DoNotationValue v) = DoNotationValue <$> g' v
177 handleDoNotationElement (DoNotationValue v) = DoNotationValue <$> g' v
178 handleDoNotationElement (DoNotationBind b v) = DoNotationBind <$> h' b <*> g' v
178 handleDoNotationElement (DoNotationBind b v) = DoNotationBind <$> h' b <*> g' v
179 handleDoNotationElement (DoNotationLet ds) = DoNotationLet <$> mapM f' ds
179 handleDoNotationElement (DoNotationLet ds) = DoNotationLet <$> mapM f' ds
180− handleDoNotationElement (PositionedDoNotationElement pos e) = PositionedDoNotationElement pos <$> handleDoNotationElement e
180+ handleDoNotationElement (PositionedDoNotationElement pos com e) = PositionedDoNotationElement pos com <$> handleDoNotationElement e
182everythingOnValues :: (r -> r -> r) ->
182everythingOnValues :: (r -> r -> r) ->
183 (Declaration -> r) ->
183 (Declaration -> r) ->
@@ -194,7 +194,7 @@ everythingOnValues (<>) f g h i j = (f', g', h', i', j')
194 f' d@(BindingGroupDeclaration ds) = foldl (<>) (f d) (map (\(_, _, val) -> g' val) ds)
194 f' d@(BindingGroupDeclaration ds) = foldl (<>) (f d) (map (\(_, _, val) -> g' val) ds)
195 f' d@(TypeClassDeclaration _ _ _ ds) = foldl (<>) (f d) (map f' ds)
195 f' d@(TypeClassDeclaration _ _ _ ds) = foldl (<>) (f d) (map f' ds)
196 f' d@(TypeInstanceDeclaration _ _ _ _ ds) = foldl (<>) (f d) (map f' ds)
196 f' d@(TypeInstanceDeclaration _ _ _ _ ds) = foldl (<>) (f d) (map f' ds)
197− f' d@(PositionedDeclaration _ d1) = f d <> f' d1
197+ f' d@(PositionedDeclaration _ _ d1) = f d <> f' d1
198 f' d = f d
198 f' d = f d
200 g' v@(UnaryMinus v1) = g v <> g' v1
200 g' v@(UnaryMinus v1) = g v <> g' v1
@@ -212,7 +212,7 @@ everythingOnValues (<>) f g h i j = (f', g', h', i', j')
212 g' v@(TypedValue _ v1 _) = g v <> g' v1
212 g' v@(TypedValue _ v1 _) = g v <> g' v1
213 g' v@(Let ds v1) = foldl (<>) (g v) (map f' ds) <> g' v1
213 g' v@(Let ds v1) = foldl (<>) (g v) (map f' ds) <> g' v1
214 g' v@(Do es) = foldl (<>) (g v) (map j' es)
214 g' v@(Do es) = foldl (<>) (g v) (map j' es)
215− g' v@(PositionedValue _ v1) = g v <> g' v1
215+ g' v@(PositionedValue _ _ v1) = g v <> g' v1
216 g' v = g v
216 g' v = g v
218 h' b@(ConstructorBinder _ bs) = foldl (<>) (h b) (map h' bs)
218 h' b@(ConstructorBinder _ bs) = foldl (<>) (h b) (map h' bs)
@@ -220,7 +220,7 @@ everythingOnValues (<>) f g h i j = (f', g', h', i', j')
220 h' b@(ArrayBinder bs) = foldl (<>) (h b) (map h' bs)
220 h' b@(ArrayBinder bs) = foldl (<>) (h b) (map h' bs)
221 h' b@(ConsBinder b1 b2) = h b <> h' b1 <> h' b2
221 h' b@(ConsBinder b1 b2) = h b <> h' b1 <> h' b2
222 h' b@(NamedBinder _ b1) = h b <> h' b1
222 h' b@(NamedBinder _ b1) = h b <> h' b1
223− h' b@(PositionedBinder _ b1) = h b <> h' b1
223+ h' b@(PositionedBinder _ _ b1) = h b <> h' b1
224 h' b = h b
224 h' b = h b
226 i' ca@(CaseAlternative bs (Right val)) = foldl (<>) (i ca) (map h' bs) <> g' val
226 i' ca@(CaseAlternative bs (Right val)) = foldl (<>) (i ca) (map h' bs) <> g' val
@@ -229,7 +229,7 @@ everythingOnValues (<>) f g h i j = (f', g', h', i', j')
229 j' e@(DoNotationValue v) = j e <> g' v
229 j' e@(DoNotationValue v) = j e <> g' v
230 j' e@(DoNotationBind b v) = j e <> h' b <> g' v
230 j' e@(DoNotationBind b v) = j e <> h' b <> g' v
231 j' e@(DoNotationLet ds) = foldl (<>) (j e) (map f' ds)
231 j' e@(DoNotationLet ds) = foldl (<>) (j e) (map f' ds)
232− j' e@(PositionedDoNotationElement _ e1) = j e <> j' e1
232+ j' e@(PositionedDoNotationElement _ _ e1) = j e <> j' e1
234everythingWithContextOnValues ::
234everythingWithContextOnValues ::
@@ -255,7 +255,7 @@ everythingWithContextOnValues s0 r0 (<>) f g h i j = (f'' s0, g'' s0, h'' s0, i'
255 f' s (BindingGroupDeclaration ds) = foldl (<>) r0 (map (\(_, _, val) -> g'' s val) ds)
255 f' s (BindingGroupDeclaration ds) = foldl (<>) r0 (map (\(_, _, val) -> g'' s val) ds)
256 f' s (TypeClassDeclaration _ _ _ ds) = foldl (<>) r0 (map (f'' s) ds)
256 f' s (TypeClassDeclaration _ _ _ ds) = foldl (<>) r0 (map (f'' s) ds)
257 f' s (TypeInstanceDeclaration _ _ _ _ ds) = foldl (<>) r0 (map (f'' s) ds)
257 f' s (TypeInstanceDeclaration _ _ _ _ ds) = foldl (<>) r0 (map (f'' s) ds)
258− f' s (PositionedDeclaration _ d1) = f'' s d1
258+ f' s (PositionedDeclaration _ _ d1) = f'' s d1
259 f' _ _ = r0
259 f' _ _ = r0
261 g'' s v = let (s', r) = g s v in r <> g' s' v
261 g'' s v = let (s', r) = g s v in r <> g' s' v
@@ -275,7 +275,7 @@ everythingWithContextOnValues s0 r0 (<>) f g h i j = (f'' s0, g'' s0, h'' s0, i'
275 g' s (TypedValue _ v1 _) = g'' s v1
275 g' s (TypedValue _ v1 _) = g'' s v1
276 g' s (Let ds v1) = foldl (<>) r0 (map (f'' s) ds) <> g'' s v1
276 g' s (Let ds v1) = foldl (<>) r0 (map (f'' s) ds) <> g'' s v1
277 g' s (Do es) = foldl (<>) r0 (map (j'' s) es)
277 g' s (Do es) = foldl (<>) r0 (map (j'' s) es)
278− g' s (PositionedValue _ v1) = g'' s v1
278+ g' s (PositionedValue _ _ v1) = g'' s v1
279 g' _ _ = r0
279 g' _ _ = r0
281 h'' s b = let (s', r) = h s b in r <> h' s' b
281 h'' s b = let (s', r) = h s b in r <> h' s' b
@@ -285,7 +285,7 @@ everythingWithContextOnValues s0 r0 (<>) f g h i j = (f'' s0, g'' s0, h'' s0, i'
285 h' s (ArrayBinder bs) = foldl (<>) r0 (map (h'' s) bs)
285 h' s (ArrayBinder bs) = foldl (<>) r0 (map (h'' s) bs)
286 h' s (ConsBinder b1 b2) = h'' s b1 <> h'' s b2
286 h' s (ConsBinder b1 b2) = h'' s b1 <> h'' s b2
287 h' s (NamedBinder _ b1) = h'' s b1
287 h' s (NamedBinder _ b1) = h'' s b1
288− h' s (PositionedBinder _ b1) = h'' s b1
288+ h' s (PositionedBinder _ _ b1) = h'' s b1
289 h' _ _ = r0
289 h' _ _ = r0
291 i'' s ca = let (s', r) = i s ca in r <> i' s' ca
291 i'' s ca = let (s', r) = i s ca in r <> i' s' ca
@@ -298,7 +298,7 @@ everythingWithContextOnValues s0 r0 (<>) f g h i j = (f'' s0, g'' s0, h'' s0, i'
298 j' s (DoNotationValue v) = g'' s v
298 j' s (DoNotationValue v) = g'' s v
299 j' s (DoNotationBind b v) = h'' s b <> g'' s v
299 j' s (DoNotationBind b v) = h'' s b <> g'' s v
300 j' s (DoNotationLet ds) = foldl (<>) r0 (map (f'' s) ds)
300 j' s (DoNotationLet ds) = foldl (<>) r0 (map (f'' s) ds)
301− j' s (PositionedDoNotationElement _ e1) = j'' s e1
301+ j' s (PositionedDoNotationElement _ _ e1) = j'' s e1
303everywhereWithContextOnValuesM :: (Functor m, Applicative m, Monad m) =>
303everywhereWithContextOnValuesM :: (Functor m, Applicative m, Monad m) =>
@@ -321,7 +321,7 @@ everywhereWithContextOnValuesM s0 f g h i j = (f'' s0, g'' s0, h'' s0, i'' s0, j
321 f' s (BindingGroupDeclaration ds) = BindingGroupDeclaration <$> mapM (thirdM (g'' s)) ds
321 f' s (BindingGroupDeclaration ds) = BindingGroupDeclaration <$> mapM (thirdM (g'' s)) ds
322 f' s (TypeClassDeclaration name args implies ds) = TypeClassDeclaration name args implies <$> mapM (f'' s) ds
322 f' s (TypeClassDeclaration name args implies ds) = TypeClassDeclaration name args implies <$> mapM (f'' s) ds
323 f' s (TypeInstanceDeclaration name cs className args ds) = TypeInstanceDeclaration name cs className args <$> mapM (f'' s) ds
323 f' s (TypeInstanceDeclaration name cs className args ds) = TypeInstanceDeclaration name cs className args <$> mapM (f'' s) ds
324− f' s (PositionedDeclaration pos d1) = PositionedDeclaration pos <$> f'' s d1
324+ f' s (PositionedDeclaration pos com d1) = PositionedDeclaration pos com <$> f'' s d1
325 f' _ other = return other
325 f' _ other = return other
327 g'' s = uncurry g' <=< g s
327 g'' s = uncurry g' <=< g s
@@ -341,7 +341,7 @@ everywhereWithContextOnValuesM s0 f g h i j = (f'' s0, g'' s0, h'' s0, i'' s0, j
341 g' s (TypedValue check v ty) = TypedValue check <$> g'' s v <*> pure ty
341 g' s (TypedValue check v ty) = TypedValue check <$> g'' s v <*> pure ty
342 g' s (Let ds v) = Let <$> mapM (f'' s) ds <*> g'' s v
342 g' s (Let ds v) = Let <$> mapM (f'' s) ds <*> g'' s v
343 g' s (Do es) = Do <$> mapM (j'' s) es
343 g' s (Do es) = Do <$> mapM (j'' s) es
344− g' s (PositionedValue pos v) = PositionedValue pos <$> g'' s v
344+ g' s (PositionedValue pos com v) = PositionedValue pos com <$> g'' s v
345 g' _ other = return other
345 g' _ other = return other
347 h'' s = uncurry h' <=< h s
347 h'' s = uncurry h' <=< h s
@@ -351,7 +351,7 @@ everywhereWithContextOnValuesM s0 f g h i j = (f'' s0, g'' s0, h'' s0, i'' s0, j
351 h' s (ArrayBinder bs) = ArrayBinder <$> mapM (h'' s) bs
351 h' s (ArrayBinder bs) = ArrayBinder <$> mapM (h'' s) bs
352 h' s (ConsBinder b1 b2) = ConsBinder <$> h'' s b1 <*> h'' s b2
352 h' s (ConsBinder b1 b2) = ConsBinder <$> h'' s b1 <*> h'' s b2
353 h' s (NamedBinder name b) = NamedBinder name <$> h'' s b
353 h' s (NamedBinder name b) = NamedBinder name <$> h'' s b
354− h' s (PositionedBinder pos b) = PositionedBinder pos <$> h'' s b
354+ h' s (PositionedBinder pos com b) = PositionedBinder pos com <$> h'' s b
355 h' _ other = return other
355 h' _ other = return other
357 i'' s = uncurry i' <=< i s
357 i'' s = uncurry i' <=< i s
@@ -363,7 +363,7 @@ everywhereWithContextOnValuesM s0 f g h i j = (f'' s0, g'' s0, h'' s0, i'' s0, j
363 j' s (DoNotationValue v) = DoNotationValue <$> g'' s v
363 j' s (DoNotationValue v) = DoNotationValue <$> g'' s v
364 j' s (DoNotationBind b v) = DoNotationBind <$> h'' s b <*> g'' s v
364 j' s (DoNotationBind b v) = DoNotationBind <$> h'' s b <*> g'' s v
365 j' s (DoNotationLet ds) = DoNotationLet <$> mapM (f'' s) ds
365 j' s (DoNotationLet ds) = DoNotationLet <$> mapM (f'' s) ds
366− j' s (PositionedDoNotationElement pos e1) = PositionedDoNotationElement pos <$> j'' s e1
366+ j' s (PositionedDoNotationElement pos com e1) = PositionedDoNotationElement pos com <$> j'' s e1
368accumTypes :: (Monoid r) => (Type -> r) -> (Declaration -> r, Expr -> r, Binder -> r, CaseAlternative -> r, DoNotationElement -> r)
368accumTypes :: (Monoid r) => (Type -> r) -> (Declaration -> r, Expr -> r, Binder -> r, CaseAlternative -> r, DoNotationElement -> r)
369accumTypes f = everythingOnValues mappend forDecls forValues (const mempty) (const mempty) (const mempty)
369accumTypes f = everythingOnValues mappend forDecls forValues (const mempty) (const mempty) (const mempty)