main: call semantic analyzer
ast: restructure hierarchy: drop Def class
ast: type of ArrayVariableDef is Array; add assertion for clarity
ast: mapper: stop silencing user AttributeErrors
ast: Fix mapper test after dropping Def class
sem: Add complete working example of basic type checking