You're right, that thing with the prefix was a mistake. I was trying to avoid listing operators and their negation, but ended up adding a lot of complexity. I changed that, I now list all operators and their negations, kept the code simple, and renamed the function.