note sequence traversal functions return maps now