@@ -89,6 +89,16 @@ positive = go
89 where go n | n < 10 = digit n
89 where go n | n < 10 = digit n
90 | otherwise = go (n `quot` 10) <> digit (n `rem` 10)
90 | otherwise = go (n `quot` 10) <> digit (n `rem` 10)
92+countDigits :: (Integral a) => a -> Int
93+{-# INLINE countDigits #-}
100+ | otherwise = go (k+4) (v `quot` 10000)
92hexadecimal :: Integral a => a -> Builder
102hexadecimal :: Integral a => a -> Builder
93{-# SPECIALIZE hexadecimal :: Int -> Builder #-}
103{-# SPECIALIZE hexadecimal :: Int -> Builder #-}
94{-# SPECIALIZE hexadecimal :: Int8 -> Builder #-}
104{-# SPECIALIZE hexadecimal :: Int8 -> Builder #-}