Isn't everything reversible if enough information is stored? Instead of COPY [A, B] -> [A, A]; you could have [A, B, 0] -> [A, A, B] which saves the value of B.
Yes, but "keeping the inputs" is non-trivial in quantum-land because of the no-cloning theorem. You can't just make a copy of your inputs and stash them. You have to be more clever than that.