((let ((allocatebinding (new-tuple 0))) (:f 21))
 (:f (x) (let ((allocatebinding (new-tuple 0 1))) (:g x x)))
 (:g (x y) (let ((allocatebinding (new-tuple 0 1 2))) (:h x y y)))
 (:h
  (x y z)
  (let ((allocatebinding (new-array 1 1)))
    (let ((d1 (print x)))
      (let ((allocatebindingx (new-array 1 1)))
        (let ((d2 (print y)))
          (let ((allocatebindingxx (new-tuple 0 1 2 3 4 5 6 7)))
            (print z))))))))
