package dev.openrs2.util.collect interface DisjointSet : Iterable> { interface Partition : Iterable val elements: Int val partitions: Int fun add(x: T): Partition operator fun get(x: T): Partition? fun union(x: Partition, y: Partition) }