(let ((type t1 (record int int int))
      (type t2 (record t1 t1 t1))
      (type t3 (record t2 t2 t2))
      (var v (new t3 (new t2 (new t1 1 2 3) nil nil) nil nil))
      (type arr (array int))
      (var a1 (new-array arr 10 0)))
  (:= (aref a1 (dot (dot (dot v 0) 0) 0)) (dot (dot (dot v 0) 0) 0)))
