2011/9/6 Erik Hesselink <hesselink@gmail.com>
You can use the fclabels package [1] for this. It makes record labels
first class, and also provides functions to update parts of a record
in the state monad [2].

That's pretty nifty. Thanks for mentioning it.