implicits on canonical ordering make for fewer operations