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. :)