Reverted the change to the compiler. The other changes are both practically and theoretically correct.