* decouple iterator from allocator * test iterator aliases to avoid future regressions * internal changes/rework