reverseするならlist-copyは不要だろうし
外側のmap!はfor-eachにして次にobjを返す
内側のmap!もループにしてset-car!を使う