impl class O1 { impl interface N1 impl object N2 impl class N3 } impl class O2 { impl inner class N2 impl class I2 } impl class O3 { impl companion object {} impl object Factory } impl class O4 { impl object Companion }