static Val requireNonNullElse(final Val val, final Val other) {
        if (val != null && !val.type().isNull()) {
            return val;
        } else {
            return other;
        }
    }
Creates a Val in a null safe way, either returning {@link ValNull} or the product
of the {@code creator} function.
stroom-query/stroom-query-language/src/main/java/stroom/query/language/functions/Val.java