Support numeric ranges.
Add cluster benchmark
Use sets and imperative style.
Fix bug in numeric range expansion.
Make Intersect and Subtract non-destructive.
Cache group expansions.
Re-use clusterLookup func in clusters()
Cache cluster expansions.