@@ -32,6 +32,7 @@ module Data.Text.Internal.Fusion.Size
3232 , isEmpty
3333 ) where
3434
35+import Data.Text.Internal (mul)
3536#if defined(ASSERTS)
3637import Control.Exception (assert)
3738#endif
@@ -100,12 +101,6 @@ subtractSize (Between _ mb) Unknown = Between 0 mb
100101subtractSize _ _ = Unknown
101102{-# INLINE subtractSize #-}
102103
103−mul :: Int -> Int -> Int
104−mul m n
105− | m <= maxBound `quot` n = m * n
106− | otherwise = overflowError
107−{-# INLINE mul #-}
108−
109104mulSize :: Size -> Size -> Size
110105mulSize (Between ma mb) (Between na nb) = Between (mul ma na) (mul mb nb)
111106mulSize _ _ = Unknown