|Keep It Simple, Stupid|
It's not immutable. It provides an add_ui_gmp method ...
Aaah - when I saw "methods" in your earlier post I was thinking that you meant "ways of overloading" ... but, of course, when you said "methods" you meant "methods".
Your post makes perfect sense. (Did I mention that I might have had an inkling that I was being dense ? ;-)
It's an interesting idea and thanks muchly for presenting it.
However, for my own modules, I think I'll be sticking with the functions that permit objects to mutate.
Creating new objects all of the time sounds expensive ... though I haven't done any tests on the costs.