The main bug I uncovered has to do with what is turning out to be perhaps the trickiest part of the Bento implementation: name resolution. Bento has a very versatile and powerful name space model, designed to support numerous patterns and techniques (delegation, overriding, hierarchies, abstract definitions, etc.). The way a name is resolved is intimately connected to the context: what object is being instantiated at that moment. What makes it complicated is that objects are subclassable and composable, so any number of objects might be being instantiated at one time. I've been trying to minimize the amount of contextual information I have to pass around, but as I define increasingly complex objects I keep running into cases which require more information.
Unfortunately increasingly complex objects also lead to increasingly convoluted debugging traces.
Meanwhile, Sourceforge is moving glacially on the bento project hosting request, and no one on the OSI license discussion list seems to have anything to say about the bento license. Pesky humans.