rotateL :: [a] -> [a] rotateL [] = [] rotateL (x) = last (x) : init (x) rotateR :: [a] -> [a] rotateR [] = [] rotateR (x) = tail(x) ++ [head (x)] prune :: [Int] -> [Int] -> [Int] prune (a:x) y | (elem a y) = prune x y | otherwise = a:prune x y