As Kotlin is designed with “Effective Java” in mind, nullable collections should not be used:
Item 43: Return empty arrays or collections, not nulls
This is how it works in most functional languages. As both collection and Optional are monads, they share the same set of methods. Kotlin’s fake Optional is great for Java integration, but not consistent with the monadic interface.
If I had a case like the one you described, I would call the second collection optionalCollection.