DataType assignInputType(DataType inputType) {
        // Since we assign in both directions, we may already have more precise info
        return this.inputType = leastGeneralNonNullOf(this.inputType, inputType);
    }
Sets the input type of this and returns the resulting output type, or null if it cannot be
uniquely determined.
Subtypes may implement this by calling setInputType(inputType, requiredType, VerificationContext context).
indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/Expression.java