Fixed the bug of type checking for if expression. Still need to fix the tricky bug in TypeDesc's copy constructor.