#rhiaroKevinMarks: We're not trying to do arbitrary diffing here. PuSH assumes that you're adding stuff to the top and take stuff off the bottom. It may be worth writing a little piece in it saying assume there's a list and you can assume new things have been added