I take the last argument `c` on the right hand side so that inlining of `bool a b`, a common partial application (c.f., `maybe a b`), can happen. I think this is the right thing to do, but please let me know if you think otherwise.