Improve code generation for unary negation and logical not operators
Improve code generation for unary negation and logical not operators

A nitpick that is strictly not necessary, but works for a broader range of
types and takes advantage of constant folding.

Jenny-fa/beaker