back GC.add/remove Root/Range with treap instead of unsorted array.
Try to address feedback comments and build issues.