@@ -28,6 +28,7 @@ module Data.Text.Internal.Fusion.Size
29 , upperBound
29 , upperBound
30 , lowerBound
30 , lowerBound
@@ -144,6 +145,14 @@ lowerBound _ (Between n _) = n
144lowerBound k _ = k
145lowerBound k _ = k
145{-# INLINE lowerBound #-}
146{-# INLINE lowerBound #-}
148+compareSize :: Size -> Int -> Maybe Ordering
149+compareSize (Between ma mb) n
152+ | ma == n && mb == n = Just EQ
153+compareSize _ _ = Nothing
147isEmpty :: Size -> Bool
156isEmpty :: Size -> Bool
148isEmpty (Between _ n) = n <= 0
157isEmpty (Between _ n) = n <= 0
149isEmpty _ = False
158isEmpty _ = False