(examples-for aif

("binds 'it in dependent expression"
 (aif (* 2 3)
      (+ it 1))
 7)

("binds 'it in subsequent dependent expressions"
 (aif nil
      (ignore it)
      "hello"
      "~it world")
 "hello world")

("recurses as necessary"
 (explain-mac 2 '(aif (a) (b) (c) (d) (e)))
 (let it (a) (if it (b) (ifv it (c) (d) (e)))))

("assigns each successive condition to 'it"
 (aif (eq? 1 2) nil
      42        (list it it))
 (42 42))

("avoids unnecessary expansion"
 (explain-mac 2 '(aif (a) (b) (c)))
 (let it (a) (if it (b) (c)))))