;; -*- Mode: Irken -*-

(datatype bool (:true) (:false))

;; inside-out (doesn't work)
(if (if (if #t #t #f) #t #f) #t #f)
(if (if (if #f #f #t) #f #t) #f #t)

;; outside-in (should work)
(if #t (if #t (if #t 0 1) 2) 3)
(if #f 0 (if #f 1 (if #f 2 3)))

(begin 0 1 2 (begin 3 4 5 (begin 6 7 8) 9 10) (begin 11 12 13))

(let ((a 0)
      (b 1)
      (c (let ((d 2)
	       (e 3))
	   4))
      (f 5)
      (g 6))
  g)