* The name for your variables changes depending on how much type information you give. If something's used as a stack for parsing, but stored as an [=OrderedCollection=], it makes sense to call it [=stack=], sometimes. Other times, programming in an explicitly-typed language, I've felt like it's stupid to give something a name other than it's type: "I want to reheapify the heap. The only thing in scope that can be reheapified!" Maybe I should just break down and use the name [=the=] in cases like that. It seems classier than [=theHeap=]. * I'm now learning XQuery at work. I wonder how much interference there will be between XQuery and Smalltalk, given that they are basically each other's opposites. * I still haven't gotten used to duck typing, and not having to make type relationships explicit. It's certainly nice to not have to share implementation to share interface --- this seems to need to happen more than one would expect. * I have to admit that 1-based arrays aren't as strange as I had feared. * This ad-hoc approach to writing a compiler seems to be working suprisingly well, 1/16th the way in. It's suprisingly easy to say "Oh, I can push that functionality up/down a level." It remains to be seen how I feel when I write the other sides of these kind of jagged interfaces.