Я хочу использовать MutableMap с настройками по умолчанию:
val myMap = mutableMapOf<String, Set<String>>().withDefault { mutableSetOf() }
но я не могу использовать метод getOrImplicitDefault, потому что withDefault возвращает тип MutableMap<String, Set<String>>. Более того, я не могу использовать интерфейс MutableMapWithDefault, потому что это частный интерфейс.
Я не могу использовать метод get либо потому, что он возвращает тип с нулевым значением. Это нормально, потому что это метод на интерфейсе MutableMap (более того, он не вызывает обратный вызов defaultValue для получения значения по умолчанию).
Похоже, эта функциональность неправильно реализована в Котлине, или я неправильно ее использую. Итак, как правильно использовать обертки withDefault?