toInt :: (Int -> Int -> Int) -> [Char] -> Maybe Int
toInt f =
  F.foldlM (safeBuildInt f) 0 . fmap fromAscii
toInt :: (Int -> Int -> Int) -> [Char] -> Maybe Int
toInt f =
  F.foldlM (safeBuildInt f) 0 . fmap fromAscii
toInt f =
  F.foldlM (safeBuildInt f) 0 . fmap fromAscii