@Override
    default int compareTo(Val other) {
        return ValComparators.GENERIC_CASE_INSENSITIVE_COMPARATOR.compare(this, other);
    }
Create a {@link Val} of the appropriate subclass for the java
type passed, e.g.
<pre>
{@link String} => {@link ValString},
{@link Long} => {@link ValLong},
{@link Instant} => {@link ValDate},
{@link Duration} => {@link ValDuration},
{@link Throwable} => {@link ValErr},
null => {@link ValNull},
etc
</pre>
stroom-query/stroom-query-language/src/main/java/stroom/query/language/functions/Val.java