Consolidate StatementBlock classes, add function-defined check to codegen, add mutual recursion test case.