Thu Aug 14 19:39:15 EDT 2014


   "the CoArbitrary class continues to confuse me"[1]

To make an arbitrary function a -> b, make a generator for b based on
a generator for b and some "shuffling" applied through the value of a.

Why is there a 0 in the following list?

*Main> shrink [1,2,3]

because shrink 1 produces 0.

[1] http://www.reddit.com/r/programming/comments/1mcu8/roll_your_own_window_manager_haskell_and/c1md04