compress x = case x of [] -> [] [a] -> [a] -- singleton list (x:y:xs) -> (if x == y then [] else [x]) ++ compress (y:xs)