myexchanger xs zs = case xs of [] -> zs y:ys -> myexchanger ys (y:zs) myreverse xs = myexchanger xs [] mydelete l y = case l of [] -> [] x:xs -> if x == y then xs else x:(mydelete xs y)