By the way, since STM was brought up: http://groups.google.com/group/comp.lang.functional/msg/3790727a8146daca