remove the nth element from a list
Clojure's two main sequences, lists and vectors, do not easily let you remove an item from the collection when that item is in the middle of the sequence. Sometimes we need to do that. Write a function remove-at that removes the element at position n from a sequence.
(remove-at 3 [1 2 3 4 5 6])
; => (1 2 3 5 6)
Make this robust. You'll have to make some hard design decisions like how to handle the empty sequence, how to handle out-of-bounds n, and more.
Bonus points for clarity and efficiency. But the #1 priority is completeness and correctness. Please document your choices in comments.
Extra credit: write a separate version for sequences and for vectors. The vector version should take and return vectors.