docs: private boolean isNegationSafe(){
          if (this.isPositive()) return true;
          if (bindingVariables().isEmpty()) return false;
          //check nested blocks
          return getComplementQueries().stream()
                  .map(ResolvableQuery::asComposite)
                  .allMatch(CompositeQuery::isNegationSafe);
      }