annotation class A1 : Annotation {
  constructor(vararg xs: Int) /* primary */ 
  val xs: IntArray
    field = xs
    get




}

annotation class A2 : Annotation {
  constructor(vararg xs: String) /* primary */ 
  val xs: Array<out String>
    field = xs
    get




}

annotation class AA : Annotation {
  constructor(vararg xs: A1) /* primary */ 
  val xs: Array<out A1>
    field = xs
    get




}

@A1(...)
@A2(...)
@AA(...)
fun test1() {
}

@A1(...)
@A2(...)
@AA(...)
fun test2() {
}

