compactUnion(): ComposedKeySet<T> {
    return compactWith(this.list, (list) => list.reduce((acc, x) => acc.union(x), new KeySetNone<T>()));
  }