I am not happy because I find I spend an inordinate amount of time reading code without really understanding it. I can read almost every statement, but cannot envision what the objects are and do at run time. (And this applies to code I wrote a year ago.) I need to change the very notion of a program to get through the barrier to the run time objects. This means introducing higher level, object oriented notions to give me leverage and to hide some of the most obfuscating facilities.
=) I think you are on the brink of re-inventing something I've developed, at least conceptually.