class Outer {
  constructor() /* primary */ {
    super/*Any*/()
        /* InstanceInitializerCall */

  }

  open inner class Inner {
    constructor() /* primary */ {
      super/*Any*/()
            /* InstanceInitializerCall */

    }




  }

  inner class InnerDerived0 : Inner {
    constructor() /* primary */ {
      <this>.super/*Inner*/()
            /* InstanceInitializerCall */

    }




  }

  inner class InnerDerived1 : Inner {
    constructor() /* primary */ {
      <this>.super/*Inner*/()
            /* InstanceInitializerCall */

    }




  }




}

typealias OI = Inner
fun test(): Inner {
  return Outer().Inner()
}

