This pull request fixes issue #386 . The use of eval has gone away, and has been replaced with a switch operator on all possible boolean operators. I moved the error to the default case of the switch statement, as this avoids the unnecessary check in the beginning (and so that if more operators were added in the future, you wouldn't have to remember to add it in both places).
No longer using eval on assert operator #386
Sweet! Nice work @cjqed!