fn new() -> Hoister {
        Hoister {
            scopes: vec![Scope::new()],
            symbol_table: SymbolTable::new(),
            unresolved_hoists: HashMap::new(),
        }
    }
Creates a new hoisted in a root scope.
Note that the hoister will always have a root scope.
passerine/src/compiler/hoist.rs