Condition<? super T> and() {
      Boolean result = true;
      for (Cond<T> c = this; c != null; c = c.next) {
        if (c.impl == Conditions.alwaysFalse()) return Conditions.alwaysFalse();
        result = result != null && c.impl != Conditions.alwaysTrue() ? null : result;
      }
      return result == null ? (Condition<T>)this::valueAnd : Conditions.alwaysTrue();
    }
Condition<? super T> and()