unsure main can't be called
fix bug in callexpr
add some initial type checking code