Tightened up arithmetic by requiring empty/unity trait on zero/one