These two functions are very similar

```
fun <T> emptyList(): List<T> = emptyList<T>()

fun <T> emptySet(): Set<T> = emptySet<T>()

```

Is there some way they could be combined into a single method which returns either an empty set or an empty list? If the caller has to pass the empty collection to be returned, that would be fine.

Ideally I would like to achieve this without the caller needing to resort to casting, i.e. using `as` or `is`.