A snapshot: the backing key set is mutable and live, so handing it out would let a caller drop channels without going through clear, and would let iteration see channels a handler adds mid-loop.