code: function deserialize(iidToAstTable) {
          Object.keys(iidToAstTable).forEach(function (iid) {
              var curAst = iidToAstTable[iid].serializedAST;
              if (curAst) {
                  var visitorPost = {
                      'SymbolicReference': function (node) {
                          var targetAST = iidToAstTable[node.value].serializedAST;
                          if (!targetAST) {
                              throw "bad symbolic reference";
                          }
                          return targetAST;
                      }
                  };
                  transformAst(curAst, visitorPost);
              }
          });
      }
docs: given an iidToAstTable constructed by the serialize() function, destructively
  update the AST values to remove SymbolicReference nodes, replacing them with a
  pointer to the appropriate actual AST node.