use Set data structures instead of plain objects where appropriate
new checker: build table of def[...]'ed symbols

 - warn if def not at toplevel
 - warn on redefs of builtin
 - warn on multiple defs
 - warn if namespace used
upgrade dependencies
change import paths to reflect dependency change