The map and iter functions weren't replacing the graph if the input list length changed. This was just an oversight in coding AFAICT, as the sneaky case is that if the length stays the same, but the list contents change, then it's okay to not swap.