Unfinished solution for ICFP 2008 Programming Contest - http://web.cecs.pdx.edu/~sheard/2008IcfpContest/