docs: public static Optional<Set<Symbol>> pruneInputs(Collection<Symbol> availableInputs, Collection<Expression> expressions)
      {
          Set<Symbol> availableInputsSet = ImmutableSet.copyOf(availableInputs);
          Set<Symbol> prunedInputs = Sets.filter(availableInputsSet, SymbolsExtractor.extractUnique(expressions)::contains);
  
          if (prunedInputs.size() == availableInputsSet.size()) {
              return Optional.empty();
          }
  
          return Optional.of(prunedInputs);
      }