Squashed commit of the following:

commit 077718f7ecceaf974fac778527679ac78a708a2f
Author: Stephen Diehl <stephen.m.diehl@gmail.com>
Date:   Tue Jan 29 13:10:52 2013 -0600

    Added sample mod at top

commit 49f4b91ede62eaf20fb8ae822b5a0109222ee1c3
Author: Stephen Diehl <stephen.m.diehl@gmail.com>
Date:   Mon Jan 28 16:00:02 2013 -0600

    Back to Choice object.

commit 7294dbf4d2de593cc9b492ebe8c2a65157d943d7
Author: Stephen Diehl <stephen.m.diehl@gmail.com>
Date:   Mon Jan 28 15:53:01 2013 -0600

    Better rule printing.

commit 00f4e4dac150d0739fd7856eb4511198385c4309
Author: Stephen Diehl <stephen.m.diehl@gmail.com>
Date:   Mon Jan 28 14:05:43 2013 -0600

    Sorts prototype.

commit a69cd93f28a805f2da2dedd7de53e33ab48a440b
Author: Stephen Diehl <stephen.m.diehl@gmail.com>
Date:   Mon Jan 28 11:10:58 2013 -0600

    Initial work on sorts.

commit 88d1ae00980f86279cb2d69faab208c02769e2cf
Author: Stephen Diehl <stephen.m.diehl@gmail.com>
Date:   Mon Jan 28 09:27:21 2013 -0600

    Working toward sorts in module

commit 5a3dc9fc12576438f670fb98a61af56c59e310da
Author: Stephen Diehl <stephen.m.diehl@gmail.com>
Date:   Mon Jan 28 08:50:33 2013 -0600

    Rework pretty printing.

commit e575baceec188b32a3f4d29cb6896b5a2c2dc0ad
Author: Stephen Diehl <stephen.m.diehl@gmail.com>
Date:   Mon Jan 28 08:40:10 2013 -0600

    Refactor

commit 7203802907d5b714d32577d335b7bec0afa0e1a7
Author: Stephen Diehl <stephen.m.diehl@gmail.com>
Date:   Mon Jan 28 02:02:20 2013 -0600

    Headless capture.

commit 54bd1c8aa97296940150f9f7ed83e2bd9f3a9a4a
Author: Stephen Diehl <stephen.m.diehl@gmail.com>
Date:   Mon Jan 28 01:37:06 2013 -0600

    Hackish rewrite.