So I'm thinking of using this analogy today: MOLECULES Data structures, starting from primitive number types, are like the molecules and macromolecules of life, the beginnings of organic chemistry. MICRO-ORGANISMS Functions, recently augmented with generators, are like the unicellular organisms on up to quite a few cells, but still quite simple. SKELETAL CREATURES Classes, though potentially very simple, provide the framework favored by the truly well endowed creatures, like Mammals (yes I'm applying a bias). Example application: In a language like Java, we're always extending the class framework, extending a tree rooted in the foundation object (Python has one too), and spreading overhead into the hugeness of the Java class library (complete with Applet and Swing branches). Someone coming from Java, looking at Python, might exclaim: wow, how prehistoric! The mitochondria still have an independent existence, their own street addresses." What this means of course, is that in Python we still have top level life forms of the pre-class variety, just as we suspect mitochondria used to have independent lives outside the confines of cells. http://micro.magnet.fsu.edu/cells/mitochondria/images/mitochondriafigure1.jp... [ image of a single mitochondrion, matrix exposed ] Kirby