Add Boolean
Refactor common code in abstract base class

PrimitiveExpression<T>