[1] https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node317.html
[2] http://gigamonkeys.com/book/beyond-exception-handling-condit...