code: private Map.Entry<Variable, ImmutableTerm> applyNullNormalization(
              Map.Entry<Variable, ImmutableTerm> substitutionEntry) {
          ImmutableTerm value = substitutionEntry.getValue();
          if (value instanceof ImmutableFunctionalTerm) {
              ImmutableTerm newValue = normalizeFunctionalTerm((ImmutableFunctionalTerm) value);
              return newValue.equals(value)
                      ? substitutionEntry
                      : new AbstractMap.SimpleEntry<>(substitutionEntry.getKey(), newValue);
          }
          return substitutionEntry;
      }
docs: Most functional terms do not accept NULL as arguments. If this happens, they become NULL.