I know many folks are tired of the "X Considered Harmful" writeups, (I should do a "Considered Harmful Considered Harmful" writeup?), but there's an interesting one by Michele Simionato, a moderately well-known Python programmer. He's written a multi-part series on this.
Interestingly, one proposed solution he's put forward is implementing traits (roles) in Python. He argues that while mixins seem fine for smaller systems, they start to become unwieldy in larger systems. That was one of the driving issues which led to the Refactoring with Roles talk I gave.
My only disappointment is that he seems focused on primarily on eliminating multiple inheritance rather than inheritance in general, but then, I think I've displayed my bias here.