* Visitors are now defined on a per-type level, allowing for greater
flexibility in combining and re-using behavior
* NameId is used for namespaces, which are used to index locally scoped
variables. Syms are used for free namespaces, specifically in objects.
All NameIDs are symbols, while not all symbols are NameIDs.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
* compile::sym is now compile::name
* add basic block structure
* add visitor pattern
* some other minor things (e.g. syn::ast::prelude)
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>