How to extend a protocol that satisfies Multiple Constraints – Swift 2.0
You could use a protocol composition: extension Moveable where Self: protocol<Animal, Aged> { // … } Or just add the conformances one after the other: extension Moveable where Self: Animal, Self: Aged { // … }