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