The main difference between mix-ins and multiple inheritence is (to my understanding) that parent classes do not call child code, but mix-ins do. Given this, perhaps mix-ins are a good place to do AOP style wrappers? If a mix-in has a method with the same name as the class being mixed into, then the mix-in code gets called then super's up. Eg: odule Test ef fred *args uts "1" uper *args uts "2" nd nd nclude Test ef fred str uts str nd red "hello world" will print ello world This would also work for dynamic methods created in the Mixin namespace, enabling AOP style wrapping. That'd be neater than all the method renaming. :)