izip_longest is not valid on py3
refactor loop to combine conflict resolution paths into one
optimize the conflict resolution to occur against only executed actions