Hmmm, these conventions are designed to make understanding the code easy! 'classes.py' is the centric classes of the package. So when an experienced python programmer sees one, they'll immediately know that: ah, this is where the classes I care about in this package are. It's analogous to '{package_name}.py'.

I do buy into your argument that a book should not be called book, that's why I have a class named ['ProbabilityDistributionPiecewiseLinear'](https://github.com/opencog/opencog/blob/master/opencog/python/spatiotemporal/temporal_events/membership_function.py#L23).

Conventions are there to save you headaches, not to get you one...