Fixing a really bad typo with step5 and adding an explicit return for step8
Typo with step 6
Changing 4a to be a little more brute force, the set diff was bad logic