Fixed issue with pointer arith.

As mentioned in the other PR I closed, This uses a blacklist because the whitelist would need to include < > <= >= && || which take up even more space. Hopefully I didn't miss any operators.

I also learnt how to squash commits which is handy :).
Yeah, there wasn't really another one like it. You have some cool if else chains, but they each return a different value at each case.

Personally I think the code formatting can make a big difference, let me know if what I have currently doesn't fit.