corrected order of functions and parameters generated output of new test cases
- support typedefs - implemented the lexer hack to identify custom types