Implement bool expressions

Implements #160.
I've reserved `*Result` names for definitions of type `ExprResult`.