i guess the examples should be a bit more involved to avoid giving too simple solutions in the proposed new placement of null in type hierarchy.
e.g.
// assuming current type system under explicit-nulls,
// where null is neither anyval nor anyref
type NonNull = AnyVal | AnyRef
type MinusNull[T] = T & NonNull
trait MyTrait[T] { // equivalent to MyTrait[T <: Any] ???
def myMethod(nullableArg: T, nonNullableArg: MinusNull[T]): Unit
}
would that work, especially as an example?