@@ -62,6 +62,7 @@ last = S.last . FH.read
6262hinspect $ hasNoTypeClasses 'last
6363hinspect $ 'last `hasNoType` ''Step
6464hinspect $ 'last `hasNoType` ''AT.FlattenState
65+hinspect $ 'last `hasNoType` ''D.ConcatMapUState
6566
6667-- assert that flattenArrays constructors are not present
6768-- | Count the number of bytes in a file.
@@ -72,6 +73,7 @@ countBytes = S.length . FH.read
7273hinspect $ hasNoTypeClasses 'countBytes
7374hinspect $ 'countBytes `hasNoType` ''Step
7475hinspect $ 'countBytes `hasNoType` ''AT.FlattenState
76+hinspect $ 'countBytes `hasNoType` ''D.ConcatMapUState
7577
7678-- | Count the number of lines in a file.
7779{-# INLINE countLines #-}
@@ -85,6 +87,7 @@ countLines =
8587hinspect $ hasNoTypeClasses 'countLines
8688hinspect $ 'countLines `hasNoType` ''Step
8789hinspect $ 'countLines `hasNoType` ''AT.FlattenState
90+hinspect $ 'countLines `hasNoType` ''D.ConcatMapUState
8891
8992-- | Count the number of lines in a file.
9093{-# INLINE countLinesU #-}
@@ -97,7 +100,7 @@ countLinesU inh =
97100
98101hinspect $ hasNoTypeClasses 'countLinesU
99102hinspect $ 'countLinesU `hasNoType` ''Step
100−hinspect $ 'countLinesU `hasNoType` ''Either
103+hinspect $ 'countLinesU `hasNoType` ''D.ConcatMapUState
101104
102105-- | Sum the bytes in a file.
103106{-# INLINE sumBytes #-}
@@ -107,6 +110,7 @@ sumBytes = S.sum . FH.read
107110hinspect $ hasNoTypeClasses 'sumBytes
108111hinspect $ 'sumBytes `hasNoType` ''Step
109112hinspect $ 'sumBytes `hasNoType` ''AT.FlattenState
113+hinspect $ 'sumBytes `hasNoType` ''D.ConcatMapUState
110114
111115-- | Send the file contents to /dev/null
112116{-# INLINE cat #-}
@@ -116,6 +120,7 @@ cat devNull inh = S.runFold (FH.write devNull) $ FH.read inh
116120hinspect $ hasNoTypeClasses 'cat
117121hinspect $ 'cat `hasNoType` ''Step
118122hinspect $ 'cat `hasNoType` ''AT.FlattenState
123+hinspect $ 'cat `hasNoType` ''D.ConcatMapUState
119124
120125-- | Send the file contents to /dev/null
121126{-# INLINE catStreamWrite #-}
@@ -125,6 +130,7 @@ catStreamWrite devNull inh = Internal.writeS devNull $ FH.read inh
125130hinspect $ hasNoTypeClasses 'catStreamWrite
126131hinspect $ 'catStreamWrite `hasNoType` ''Step
127132hinspect $ 'catStreamWrite `hasNoType` ''AT.FlattenState
133+hinspect $ 'catStreamWrite `hasNoType` ''D.ConcatMapUState
128134
129135-- | Copy file
130136{-# INLINE copy #-}
@@ -134,6 +140,7 @@ copy inh outh = S.runFold (FH.write outh) (FH.read inh)
134140hinspect $ hasNoTypeClasses 'copy
135141hinspect $ 'copy `hasNoType` ''Step
136142hinspect $ 'copy `hasNoType` ''AT.FlattenState
143+hinspect $ 'copy `hasNoType` ''D.ConcatMapUState
137144
138145-- | Copy file
139146{-# INLINE copyCodecChar8 #-}
@@ -147,6 +154,7 @@ copyCodecChar8 inh outh =
147154hinspect $ hasNoTypeClasses 'copyCodecChar8
148155hinspect $ 'copyCodecChar8 `hasNoType` ''Step
149156hinspect $ 'copyCodecChar8 `hasNoType` ''AT.FlattenState
157+hinspect $ 'copyCodecChar8 `hasNoType` ''D.ConcatMapUState
150158
151159-- | Copy file
152160{-# INLINE copyCodecUtf8 #-}
@@ -160,6 +168,7 @@ copyCodecUtf8 inh outh =
160168hinspect $ hasNoTypeClasses 'copyCodecUtf8
161169-- hinspect $ 'copyCodecUtf8 `hasNoType` ''Step
162170-- hinspect $ 'copyCodecUtf8 `hasNoType` ''AT.FlattenState
171+-- hinspect $ 'copyCodecUtf8 `hasNoType` ''D.ConcatMapUState
163172
164173-- | Slice in chunks of size n and get the count of chunks.
165174{-# INLINE chunksOf #-}
@@ -171,6 +180,7 @@ chunksOf n inh =
171180hinspect $ hasNoTypeClasses 'chunksOf
172181hinspect $ 'chunksOf `hasNoType` ''Step
173182hinspect $ 'chunksOf `hasNoType` ''AT.FlattenState
183+hinspect $ 'chunksOf `hasNoType` ''D.ConcatMapUState
174184hinspect $ 'chunksOf `hasNoType` ''GroupState
175185
176186-- This is to make sure that the concatMap in FH.read, groupsOf and foldlM'
@@ -188,6 +198,7 @@ hinspect $ hasNoTypeClasses 'chunksOf
188198hinspect $ 'chunksOf `hasNoType` ''Step
189199hinspect $ 'chunksOfD `hasNoType` ''GroupState
190200hinspect $ 'chunksOfD `hasNoType` ''AT.FlattenState
201+hinspect $ 'chunksOfD `hasNoType` ''D.ConcatMapUState
191202
192203-- | Lines and unlines
193204{-# INLINE linesUnlinesCopy #-}
@@ -203,6 +214,7 @@ linesUnlinesCopy inh outh =
203214-- hinspect $ hasNoTypeClasses 'linesUnlinesCopy
204215-- hinspect $ 'linesUnlinesCopy `hasNoType` ''Step
205216-- hinspect $ 'linesUnlinesCopy `hasNoType` ''AT.FlattenState
217+-- hinspect $ 'linesUnlinesCopy `hasNoType` ''D.ConcatMapUState
206218
207219-- | Word, unwords and copy
208220{-# INLINE wordsUnwordsCopy #-}
@@ -218,6 +230,7 @@ wordsUnwordsCopy inh outh =
218230-- hinspect $ hasNoTypeClasses 'wordsUnwordsCopy
219231-- hinspect $ 'wordsUnwordsCopy `hasNoType` ''Step
220232-- hinspect $ 'wordsUnwordsCopy `hasNoType` ''AT.FlattenState
233+-- hinspect $ 'wordsUnwordsCopy `hasNoType` ''D.ConcatMapUState
221234
222235lf :: Word8
223236lf = fromIntegral (ord '\n')
@@ -256,6 +269,7 @@ splitOn inh =
256269hinspect $ hasNoTypeClasses 'splitOn
257270hinspect $ 'splitOn `hasNoType` ''Step
258271hinspect $ 'splitOn `hasNoType` ''AT.FlattenState
272+hinspect $ 'splitOn `hasNoType` ''D.ConcatMapUState
259273
260274-- | Split suffix on line feed.
261275{-# INLINE splitOnSuffix #-}
@@ -267,6 +281,7 @@ splitOnSuffix inh =
267281hinspect $ hasNoTypeClasses 'splitOnSuffix
268282hinspect $ 'splitOnSuffix `hasNoType` ''Step
269283hinspect $ 'splitOnSuffix `hasNoType` ''AT.FlattenState
284+hinspect $ 'splitOnSuffix `hasNoType` ''D.ConcatMapUState
270285
271286-- | Words by space
272287{-# INLINE wordsBy #-}
@@ -278,6 +293,7 @@ wordsBy inh =
278293hinspect $ hasNoTypeClasses 'wordsBy
279294hinspect $ 'wordsBy `hasNoType` ''Step
280295hinspect $ 'wordsBy `hasNoType` ''AT.FlattenState
296+hinspect $ 'wordsBy `hasNoType` ''D.ConcatMapUState
281297
282298-- | Split on a character sequence.
283299{-# INLINE splitOnSeq #-}
@@ -289,6 +305,7 @@ splitOnSeq str inh =
289305hinspect $ hasNoTypeClasses 'splitOnSeq
290306-- hinspect $ 'splitOnSeq `hasNoType` ''Step
291307-- hinspect $ 'splitOnSeq `hasNoType` ''AT.FlattenState
308+-- hinspect $ 'splitOnSeq `hasNoType` ''D.ConcatMapUState
292309
293310-- | Split on suffix sequence.
294311{-# INLINE splitOnSuffixSeq #-}
@@ -300,3 +317,4 @@ splitOnSuffixSeq str inh =
300317hinspect $ hasNoTypeClasses 'splitOnSuffixSeq
301318-- hinspect $ 'splitOnSuffixSeq `hasNoType` ''Step
302319-- hinspect $ 'splitOnSuffixSeq `hasNoType` ''AT.FlattenState
320+-- hinspect $ 'splitOnSuffixSeq `hasNoType` ''D.ConcatMapUState