static semantic analysis and types part 1 2504642