warnings and elseifs and elses AST