@Test public void testSum_Leafs() { assertEquals(zero, zero.sum(zero)); assertEquals(one, zero.sum(one)); assertEquals(one, one.sum(zero)); }
abstract ID sum(ID other);
ID { abstract ID sum(ID other); }
ID { abstract ID sum(ID other);  }
ID { abstract ID sum(ID other);   }
ID { abstract ID sum(ID other);    }