import Control.Arrow
removeAt :: Int -> [a] -> [a]
removeAt n xs = (take (n-1) xs) ++ (drop n xs)

removeAtT :: Int -> [a] -> (a,[a])
removeAtT 1 (x:xs) = (x,xs)
removeAtT n (x:xs) = (fst &&& ((x:).snd)) $ removeAtT (n-1) xs