new implementation of index_map (was parent_index_map); not yet spec'd
specs passings except for local reorder, parent and local move, parent and local swap