public Specification <T> Xor(Specification <T> specification) => new XorSpecification <T>(this, specification);
public Specification <T> Or(Specification <T> specification) => (this == All || specification == All) ? All : new OrSpecification <T>(this, specification);