その関数を適用する前の値を保持しておいて上書きするとかじゃいかんのか?