型を限定したいとか明示したいとか言ってる時点でCompositeパターンを使うのは間違いなんじゃない?