protocol A { func common() } extension A { func commonAImpl() { ... } func common() { commonAImpl() } } protocol B { 略 }