pub fn assign(name: &str, e: Box<ASTNode>) -> Box<ASTNode>