roll back optimization that behaves *very* badly for LinkedLists