the AST now produces ~void{} instead of null
surely I forgot a few things here and there, but now symbols in the AST are {.symbol, String?} rather than String?
folded Void into ~void{}
folded Symbol{x} into ~symbol{x}