splitBy' :: Char -- ^ Character to split at
         -> String -- ^ String to split
         -> [String] -- ^ Result list of substrings
splitBy' c s = case dropWhile (== c) s of
                                "" -> []
                                s' -> w : splitBy' c s''
                                      where (w, s'') =
                                             break (== c) s'

-- | Merge a list of strings to a single string, seperated by the given separator.
splitBy' :: Char -- ^ Character to split at
         -> String -- ^ String to split
         -> [String]
splitBy' c s = case dropWhile (== c) s of
                                "" -> []
                                s' -> w : splitBy' c s''
                                      where (w, s'') =
                                             break (== c) s'

-- | Merge a list of strings to a single string, seperated by the given separator.
splitBy' c s = case dropWhile (== c) s of
                                "" -> []
                                s' -> w : splitBy' c s''
                                      where (w, s'') =
                                             break (== c) s'

-- | Merge a list of strings to a single string, seperated by the given separator.