Removed use of variable length arrays in typeToStr
Support for typedefs in the type system
- Functions that deal with types semantically use type walkthrough
- If only structurally, use ->tag instead of typeIsXXX