No, I understand. I used monkeypatching to work around some problems with numerics libraries in Ruby too. But let's face it, it's not as good a technique as this. And I didn't even touch on the ability to fold a closure around a class instance using (reify ...) or the differences between declaring methods in deftype or using extend-type.
There is a lot of power in this relatively simple concept without going into the gnarly tilt-the-whole-world problems that monkeypatching introduces.
I'm not exactly defending monkeypatching. It's better than nothing, and if used judiciously it doesn't have to be especially dangerous. All the rope you need and all that...
And, what you're describing is very cool on its own merits.
What I want to know is whether this will get you out of the same messes that monkeypatching can. If it will, but in a more controlled way, then that's really awesome.
There is a lot of power in this relatively simple concept without going into the gnarly tilt-the-whole-world problems that monkeypatching introduces.