Handling cases with empty list of branches (e.g. all branches recursive). Fixes to the mutual recursion tests. Minor error reporting and logging changes.