Represent do/don't, is/isn't, with/without flags with Choice.

Boolean blindness
(https://existentialtype.wordpress.com/2011/03/15/boolean-blindness) refers
to the problem that boolean literals on their own aren't very
informative. In any given context, what does True mean? What does False
mean? Instead of passing arguments of type Bool to functions, consider
using Choice.

Homepage:
http://hackage.haskell.org/package/choice
