skiplist patching and iterator support from Sterl