Dear Dave,
I created a branch immutable-systems in which I imported your code. I cleaned it up your code, added a test, found bugs, fixed them. Please try with the code in the branch.
It might be a bit late for your patch to make it to 3.1.5 (although it's pretty independent from other code, so should be harmless, as long as the tests still pass), but if not, I'd love to have it in 3.2.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Language independence means you're proud of not calling your barking a language — Faré, about designers of DBMS, OS or other software who claim such