>>> dropWhileEnd isSpace "foo\n" "foo"
>>> dropWhileEnd isSpace "foo bar" "foo bar"
dropWhileEnd isSpace ("foo\n" ++ undefined) == "foo" ++ undefined
dropWhileAntitone p = fromDistinctAscList . dropWhile (p . fst) . toList dropWhileAntitone p = filterWithKey (k -> not (p k))
dropWhileAntitone p = fromDistinctAscList . dropWhile p . toList dropWhileAntitone p = filter (not . p)
>>> dropWhileEnd (=='.') "foo..." "foo"
dropWhileEnd (=='.') "foo..." == "foo"