Edge cases for dead code analysis
This PR contains all my test cases for dead code analysis. For some of the edge cases, the course work README is not 100% clear on whether an error should be returned or how that error should look exactly. I tried to make reasonable conclusions and tried to make the test cases as general as possible. But I leave it to you to decide which of the test cases you want to merge, if any.