More tweaks. Instead of returning ['!foo'] for !(foo), return ['!', ['foo']]