Remove redundant types in separate pass

Except for FuncParam which is used in both expressions and definition