Don't crash if making a slice out of an empty list
Avoid test cleanup invalid reads when freeing smartlists
Add the basic gen_diff tests