A way of thinking of a mixin is: it's a bundle of functionality that can be implemented on top of another bundle of base functionality.
For example... if I take every class which has a ->Next() method and a ->Reset() method, then I can build all kinds of additional features, using nothing more than the supplied Next and Reset methods. I can make a greplike operator, I can build loops, etc.
Anyway, I think that's the key to understanding it: a mixin is a way of making it such that any class which can do X, Y, and Z, can also do P, D, and Q.
Not an editor command: Wq