in reply to Modules exporting functions and objects at the same time.

I'd say that if you gonna use objects use them all the way down, meaning that an class (aka package) must be an self contained UNIT of behavior of your domain model, not a bunch-of-methods-with-no-relation-to-each-other grouped together.

Systems become real hard to maintain, read and refactor when people do not respect objects responsibilities.
  • Comment on Re: Modules exporting functions and objects at the same time.