-- | Split a string on the given character
split :: Char -> String -> [String]
split c s =
    case break (== c) s of
        (s', "")   -> [s']
        (s', rest) -> s' : split c (drop 1 rest)


-- | (Internal) Replace third argument by the second one if it matches the first one.
split :: Char -> String -> [String]
split c s =
    case break (== c) s of
        (s', "")   -> [s']
        (s', rest) -> s' : split c (drop 1 rest)


-- | (Internal) Replace third argument by the second one if it matches the first one.
split c s =
    case break (== c) s of
        (s', "")   -> [s']
        (s', rest) -> s' : split c (drop 1 rest)


-- | (Internal) Replace third argument by the second one if it matches the first one.