Consider this scenario:
- A question, X, is asked.
- An expert reads the question and checks it is not a duplicate.
- The expert writes a good answer, A.
- That answer really is good; it receives up-votes.
- Another expert realises that question X is actually a duplicate of canonical question Y. She votes to close X as a duplicate of Y.
- The community agrees, and X is closed as a duplicate.
- The expert who wrote answer A agrees. If she has known they were duplicates she would have answered Y rather than _X. She wants her answer A to be an answer of canonical question Y rather than of duplicate X. That way the canonical question will benefit from their good answer, and she makes the Internet a better place™.
At present, the expert who wrote answer A has no means for doing this. Merging of any kind is for moderators only. As far as I can see, merges almost never happen. Probably because moderators have more important things to do, and because of fear of messing up questions that are not quite duplicates.
The writer of answer A can not simply copy the text of her answer from X to Y. It seems that SE automatically detects copies; a moderator will delete the new copy (this has happened to me). If she copies the text and then deletes the original, so there is only one copy live, in an attempt to prevent a moderator intervening, she will lose the deserved reputation she earned on the original: a disincentive to do The Right Thing. We want gamification to encourage good behaviours, not discourage them.
I propose that when a question is closed as a duplicate of another (canonical) question, each answerer of the duplicate question has the option to move their answer from the duplicate to the canonical question. This move in effect deletes their answer on the duplicate. However, unlike a copy-then-delete, votes on the answer move too.
The only tricky part of this is how to deal with an answer that has been selected as the accepted answer. The simplest solution is that the moved question looses its status as the accepted answer, and the answerer looses 15 reputation. Another option is that the question looses its status as the accepted answer, and the question receives 2 up-votes as compensation, giving a net gain of 5 reputation.