add shortcut boolean evaluation
improve error message for accidental equality
disallow use of Nothing type except where specifically allowed