class AtomicRef<T : Any?> {
  var value: T
    field = value
    get
    set

  constructor(value: T) /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

}

class Box {
  val b: Int
    field = b
    get

  constructor(b: Int) /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

}

fun test(bs: AtomicRef<Any?>) {
  bs as AtomicRef<Array<Array<Box>>> /*~> Unit */
  CHECK_NOT_NULL<Box>(arg0 = bs /*as AtomicRef<Array<Array<Box>>> */.<get-value>().get(index = 0).get(index = 1)).<get-b>() /*~> Unit */
}
