getOrPut

val paths = mutableMapOf<Int, MutableSet<Int>>()
...
paths[a]?.let {
  it.add(b)
} ?: run {
  paths[a] = mutableSetOf(b)
}

もしgetOrPutを使うと、下記のようにすごく簡単になる

val paths = mutableMapOf<Int, MutableSet<Int>>()
...
paths.getOrPut(a) { mutableSetOf() }.add(b)