The typechecker accepts this:
shared Boolean isInsideInterval<out Value>
([Value, Value] interval)(Value x)
given Value satisfies Comparable<Value>
=> let ([a,b]=interval) a <= x <= b;
That's inconsistent, since Value occurs contravariantly in the return type.