abstract class Base<T : Any?> {
  constructor(x: T) /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  val x: T
    field = x
    get

  abstract fun <Y : Any?> foo(y: Y): T 
  abstract var bar: T
    abstract get
    abstract set

  abstract var <Z : Any?> Z.exn: T
    abstract get
    abstract set

}

