4 and 5 Working

6 is running into infinite recursion when called with a task deeper
into the list than roof