[macros] curried update
[macros] curried update: A better way
pros: simple, universal
cons: the new name of the original update is fixed, due to the limitation of scala macro system