@@ -62,6 +62,7 @@ last = S.last . FH.read
62hinspect $ hasNoTypeClasses 'last
62hinspect $ hasNoTypeClasses 'last
63hinspect $ 'last `hasNoType` ''Step
63hinspect $ 'last `hasNoType` ''Step
64hinspect $ 'last `hasNoType` ''AT.FlattenState
64hinspect $ 'last `hasNoType` ''AT.FlattenState
65+hinspect $ 'last `hasNoType` ''D.ConcatMapUState
66-- assert that flattenArrays constructors are not present
67-- assert that flattenArrays constructors are not present
67-- | Count the number of bytes in a file.
68-- | Count the number of bytes in a file.
@@ -72,6 +73,7 @@ countBytes = S.length . FH.read
72hinspect $ hasNoTypeClasses 'countBytes
73hinspect $ hasNoTypeClasses 'countBytes
73hinspect $ 'countBytes `hasNoType` ''Step
74hinspect $ 'countBytes `hasNoType` ''Step
74hinspect $ 'countBytes `hasNoType` ''AT.FlattenState
75hinspect $ 'countBytes `hasNoType` ''AT.FlattenState
76+hinspect $ 'countBytes `hasNoType` ''D.ConcatMapUState
76-- | Count the number of lines in a file.
78-- | Count the number of lines in a file.
77{-# INLINE countLines #-}
79{-# INLINE countLines #-}
@@ -85,6 +87,7 @@ countLines =
85hinspect $ hasNoTypeClasses 'countLines
87hinspect $ hasNoTypeClasses 'countLines
86hinspect $ 'countLines `hasNoType` ''Step
88hinspect $ 'countLines `hasNoType` ''Step
87hinspect $ 'countLines `hasNoType` ''AT.FlattenState
89hinspect $ 'countLines `hasNoType` ''AT.FlattenState
90+hinspect $ 'countLines `hasNoType` ''D.ConcatMapUState
89-- | Count the number of lines in a file.
92-- | Count the number of lines in a file.
90{-# INLINE countLinesU #-}
93{-# INLINE countLinesU #-}
@@ -97,7 +100,7 @@ countLinesU inh =
98hinspect $ hasNoTypeClasses 'countLinesU
101hinspect $ hasNoTypeClasses 'countLinesU
99hinspect $ 'countLinesU `hasNoType` ''Step
102hinspect $ 'countLinesU `hasNoType` ''Step
100−hinspect $ 'countLinesU `hasNoType` ''Either
103+hinspect $ 'countLinesU `hasNoType` ''D.ConcatMapUState
102-- | Sum the bytes in a file.
105-- | Sum the bytes in a file.
103{-# INLINE sumBytes #-}
106{-# INLINE sumBytes #-}
@@ -107,6 +110,7 @@ sumBytes = S.sum . FH.read
107hinspect $ hasNoTypeClasses 'sumBytes
110hinspect $ hasNoTypeClasses 'sumBytes
108hinspect $ 'sumBytes `hasNoType` ''Step
111hinspect $ 'sumBytes `hasNoType` ''Step
109hinspect $ 'sumBytes `hasNoType` ''AT.FlattenState
112hinspect $ 'sumBytes `hasNoType` ''AT.FlattenState
113+hinspect $ 'sumBytes `hasNoType` ''D.ConcatMapUState
111-- | Send the file contents to /dev/null
115-- | Send the file contents to /dev/null
112{-# INLINE cat #-}
116{-# INLINE cat #-}
@@ -116,6 +120,7 @@ cat devNull inh = S.runFold (FH.write devNull) $ FH.read inh
116hinspect $ hasNoTypeClasses 'cat
120hinspect $ hasNoTypeClasses 'cat
117hinspect $ 'cat `hasNoType` ''Step
121hinspect $ 'cat `hasNoType` ''Step
118hinspect $ 'cat `hasNoType` ''AT.FlattenState
122hinspect $ 'cat `hasNoType` ''AT.FlattenState
123+hinspect $ 'cat `hasNoType` ''D.ConcatMapUState
120-- | Send the file contents to /dev/null
125-- | Send the file contents to /dev/null
121{-# INLINE catStreamWrite #-}
126{-# INLINE catStreamWrite #-}
@@ -125,6 +130,7 @@ catStreamWrite devNull inh = Internal.writeS devNull $ FH.read inh
125hinspect $ hasNoTypeClasses 'catStreamWrite
130hinspect $ hasNoTypeClasses 'catStreamWrite
126hinspect $ 'catStreamWrite `hasNoType` ''Step
131hinspect $ 'catStreamWrite `hasNoType` ''Step
127hinspect $ 'catStreamWrite `hasNoType` ''AT.FlattenState
132hinspect $ 'catStreamWrite `hasNoType` ''AT.FlattenState
133+hinspect $ 'catStreamWrite `hasNoType` ''D.ConcatMapUState
129-- | Copy file
135-- | Copy file
130{-# INLINE copy #-}
136{-# INLINE copy #-}
@@ -134,6 +140,7 @@ copy inh outh = S.runFold (FH.write outh) (FH.read inh)
134hinspect $ hasNoTypeClasses 'copy
140hinspect $ hasNoTypeClasses 'copy
135hinspect $ 'copy `hasNoType` ''Step
141hinspect $ 'copy `hasNoType` ''Step
136hinspect $ 'copy `hasNoType` ''AT.FlattenState
142hinspect $ 'copy `hasNoType` ''AT.FlattenState
143+hinspect $ 'copy `hasNoType` ''D.ConcatMapUState
138-- | Copy file
145-- | Copy file
139{-# INLINE copyCodecChar8 #-}
146{-# INLINE copyCodecChar8 #-}
@@ -147,6 +154,7 @@ copyCodecChar8 inh outh =
147hinspect $ hasNoTypeClasses 'copyCodecChar8
154hinspect $ hasNoTypeClasses 'copyCodecChar8
148hinspect $ 'copyCodecChar8 `hasNoType` ''Step
155hinspect $ 'copyCodecChar8 `hasNoType` ''Step
149hinspect $ 'copyCodecChar8 `hasNoType` ''AT.FlattenState
156hinspect $ 'copyCodecChar8 `hasNoType` ''AT.FlattenState
157+hinspect $ 'copyCodecChar8 `hasNoType` ''D.ConcatMapUState
151-- | Copy file
159-- | Copy file
152{-# INLINE copyCodecUtf8 #-}
160{-# INLINE copyCodecUtf8 #-}
@@ -160,6 +168,7 @@ copyCodecUtf8 inh outh =
160hinspect $ hasNoTypeClasses 'copyCodecUtf8
168hinspect $ hasNoTypeClasses 'copyCodecUtf8
161-- hinspect $ 'copyCodecUtf8 `hasNoType` ''Step
169-- hinspect $ 'copyCodecUtf8 `hasNoType` ''Step
162-- hinspect $ 'copyCodecUtf8 `hasNoType` ''AT.FlattenState
170-- hinspect $ 'copyCodecUtf8 `hasNoType` ''AT.FlattenState
171+-- hinspect $ 'copyCodecUtf8 `hasNoType` ''D.ConcatMapUState
164-- | Slice in chunks of size n and get the count of chunks.
173-- | Slice in chunks of size n and get the count of chunks.
165{-# INLINE chunksOf #-}
174{-# INLINE chunksOf #-}
@@ -171,6 +180,7 @@ chunksOf n inh =
171hinspect $ hasNoTypeClasses 'chunksOf
180hinspect $ hasNoTypeClasses 'chunksOf
172hinspect $ 'chunksOf `hasNoType` ''Step
181hinspect $ 'chunksOf `hasNoType` ''Step
173hinspect $ 'chunksOf `hasNoType` ''AT.FlattenState
182hinspect $ 'chunksOf `hasNoType` ''AT.FlattenState
183+hinspect $ 'chunksOf `hasNoType` ''D.ConcatMapUState
174hinspect $ 'chunksOf `hasNoType` ''GroupState
184hinspect $ 'chunksOf `hasNoType` ''GroupState
176-- This is to make sure that the concatMap in FH.read, groupsOf and foldlM'
186-- This is to make sure that the concatMap in FH.read, groupsOf and foldlM'
@@ -188,6 +198,7 @@ hinspect $ hasNoTypeClasses 'chunksOf
188hinspect $ 'chunksOf `hasNoType` ''Step
198hinspect $ 'chunksOf `hasNoType` ''Step
189hinspect $ 'chunksOfD `hasNoType` ''GroupState
199hinspect $ 'chunksOfD `hasNoType` ''GroupState
190hinspect $ 'chunksOfD `hasNoType` ''AT.FlattenState
200hinspect $ 'chunksOfD `hasNoType` ''AT.FlattenState
201+hinspect $ 'chunksOfD `hasNoType` ''D.ConcatMapUState
192-- | Lines and unlines
203-- | Lines and unlines
193{-# INLINE linesUnlinesCopy #-}
204{-# INLINE linesUnlinesCopy #-}
@@ -203,6 +214,7 @@ linesUnlinesCopy inh outh =
203-- hinspect $ hasNoTypeClasses 'linesUnlinesCopy
214-- hinspect $ hasNoTypeClasses 'linesUnlinesCopy
204-- hinspect $ 'linesUnlinesCopy `hasNoType` ''Step
215-- hinspect $ 'linesUnlinesCopy `hasNoType` ''Step
205-- hinspect $ 'linesUnlinesCopy `hasNoType` ''AT.FlattenState
216-- hinspect $ 'linesUnlinesCopy `hasNoType` ''AT.FlattenState
217+-- hinspect $ 'linesUnlinesCopy `hasNoType` ''D.ConcatMapUState
207-- | Word, unwords and copy
219-- | Word, unwords and copy
208{-# INLINE wordsUnwordsCopy #-}
220{-# INLINE wordsUnwordsCopy #-}
@@ -218,6 +230,7 @@ wordsUnwordsCopy inh outh =
218-- hinspect $ hasNoTypeClasses 'wordsUnwordsCopy
230-- hinspect $ hasNoTypeClasses 'wordsUnwordsCopy
219-- hinspect $ 'wordsUnwordsCopy `hasNoType` ''Step
231-- hinspect $ 'wordsUnwordsCopy `hasNoType` ''Step
220-- hinspect $ 'wordsUnwordsCopy `hasNoType` ''AT.FlattenState
232-- hinspect $ 'wordsUnwordsCopy `hasNoType` ''AT.FlattenState
233+-- hinspect $ 'wordsUnwordsCopy `hasNoType` ''D.ConcatMapUState
222lf :: Word8
235lf :: Word8
223lf = fromIntegral (ord '\n')
236lf = fromIntegral (ord '\n')
@@ -256,6 +269,7 @@ splitOn inh =
256hinspect $ hasNoTypeClasses 'splitOn
269hinspect $ hasNoTypeClasses 'splitOn
257hinspect $ 'splitOn `hasNoType` ''Step
270hinspect $ 'splitOn `hasNoType` ''Step
258hinspect $ 'splitOn `hasNoType` ''AT.FlattenState
271hinspect $ 'splitOn `hasNoType` ''AT.FlattenState
272+hinspect $ 'splitOn `hasNoType` ''D.ConcatMapUState
260-- | Split suffix on line feed.
274-- | Split suffix on line feed.
261{-# INLINE splitOnSuffix #-}
275{-# INLINE splitOnSuffix #-}
@@ -267,6 +281,7 @@ splitOnSuffix inh =
267hinspect $ hasNoTypeClasses 'splitOnSuffix
281hinspect $ hasNoTypeClasses 'splitOnSuffix
268hinspect $ 'splitOnSuffix `hasNoType` ''Step
282hinspect $ 'splitOnSuffix `hasNoType` ''Step
269hinspect $ 'splitOnSuffix `hasNoType` ''AT.FlattenState
283hinspect $ 'splitOnSuffix `hasNoType` ''AT.FlattenState
284+hinspect $ 'splitOnSuffix `hasNoType` ''D.ConcatMapUState
271-- | Words by space
286-- | Words by space
272{-# INLINE wordsBy #-}
287{-# INLINE wordsBy #-}
@@ -278,6 +293,7 @@ wordsBy inh =
278hinspect $ hasNoTypeClasses 'wordsBy
293hinspect $ hasNoTypeClasses 'wordsBy
279hinspect $ 'wordsBy `hasNoType` ''Step
294hinspect $ 'wordsBy `hasNoType` ''Step
280hinspect $ 'wordsBy `hasNoType` ''AT.FlattenState
295hinspect $ 'wordsBy `hasNoType` ''AT.FlattenState
296+hinspect $ 'wordsBy `hasNoType` ''D.ConcatMapUState
282-- | Split on a character sequence.
298-- | Split on a character sequence.
283{-# INLINE splitOnSeq #-}
299{-# INLINE splitOnSeq #-}
@@ -289,6 +305,7 @@ splitOnSeq str inh =
289hinspect $ hasNoTypeClasses 'splitOnSeq
305hinspect $ hasNoTypeClasses 'splitOnSeq
290-- hinspect $ 'splitOnSeq `hasNoType` ''Step
306-- hinspect $ 'splitOnSeq `hasNoType` ''Step
291-- hinspect $ 'splitOnSeq `hasNoType` ''AT.FlattenState
307-- hinspect $ 'splitOnSeq `hasNoType` ''AT.FlattenState
308+-- hinspect $ 'splitOnSeq `hasNoType` ''D.ConcatMapUState
293-- | Split on suffix sequence.
310-- | Split on suffix sequence.
294{-# INLINE splitOnSuffixSeq #-}
311{-# INLINE splitOnSuffixSeq #-}
@@ -300,3 +317,4 @@ splitOnSuffixSeq str inh =
300hinspect $ hasNoTypeClasses 'splitOnSuffixSeq
317hinspect $ hasNoTypeClasses 'splitOnSuffixSeq
301-- hinspect $ 'splitOnSuffixSeq `hasNoType` ''Step
318-- hinspect $ 'splitOnSuffixSeq `hasNoType` ''Step
302-- hinspect $ 'splitOnSuffixSeq `hasNoType` ''AT.FlattenState
319-- hinspect $ 'splitOnSuffixSeq `hasNoType` ''AT.FlattenState
320+-- hinspect $ 'splitOnSuffixSeq `hasNoType` ''D.ConcatMapUState