fun <T> T.foo(): kotlin.collections.List<@Anno5(s = "1") T>?

fun <T> T.foo2(): kotlin.collections.List<kotlin.collections.List<@Anno5(s = "1") T>>?

@kotlin.annotation.Target(allowedTargets = [kotlin.annotation.AnnotationTarget.TYPE])
annotation class Anno1

@kotlin.annotation.Target(allowedTargets = [kotlin.annotation.AnnotationTarget.TYPE])
annotation class Anno2

@kotlin.annotation.Target(allowedTargets = [kotlin.annotation.AnnotationTarget.TYPE])
annotation class Anno3

@kotlin.annotation.Target(allowedTargets = [kotlin.annotation.AnnotationTarget.TYPE])
annotation class Anno4

@kotlin.annotation.Target(allowedTargets = [kotlin.annotation.AnnotationTarget.TYPE])
annotation class Anno5(s: kotlin.String) {
  val s: kotlin.String
}

interface I

class X : @Anno1 I {
  fun f(arg: @Anno2 I): @Anno3 I

  val x: @Anno4 I
}
