INLINE is_ctype, otherwise charType gets inlined in the RHS by virtue
of only being used once, and we lose the opportunity to inline is_ctype.
at the big case below.
\begin{code}
at the big case below.
\begin{code}
is_ctype :: Int -> Char# -> Bool
is_ctype mask c = (fromIntegral (charType (C# c)) .&. fromIntegral mask) /= (0::Int32)
is_ctype :: Int -> Char# -> Bool
is_ctype mask c = (fromIntegral (charType (C# c)) .&. fromIntegral mask) /= (0::Int32)