Union types

What’s difference between

 fun <T> handleB(value: T|B): T without B

and

fun <T> handleB(value: T|B): T

Does first means that if T and B are interfaces, you can’t return a type that implements B ? How can you control it ?
Or, does it mean that if B inherits from T, you can’t return a B instance ??