Finished RecursionPatternMatching and passing tests