internal Or(Spec <T> spec1, Spec <T> spec2) : base(spec1.Expression.Or(spec2.Expression)) { Spec1 = spec1; Spec2 = spec2; }
internal Not(Spec <T> spec) : base(spec.Expression.Not()) { Spec = spec; }
internal And(Spec <T> spec1, Spec <T> spec2) : base(spec1.Expression.And(spec2.Expression)) { Spec1 = spec1; Spec2 = spec2; }