saved a few more bytes based on operator associativity