code: function tryCatch(fn, obj, arg) {                                                                        // 60
      try {                                                                                                  // 61
        return { type: "normal", arg: fn.call(obj, arg) };                                                   // 62
      } catch (err) {                                                                                        // 63
        return { type: "throw", arg: err };                                                                  // 64
      }                                                                                                      // 65
    }
docs: 48 49 Try/catch helper to minimize deoptimizations. Returns a completion                                    // 50 record like context.tryEntries[i].completion. This interface could                                    // 51 have been (and was previously) designed to take a closure to be                                       // 52 invoked without arguments, but in all the cases we care about we                                      // 53 already have an existing method we want to call, so there's no need                                   // 54 to create a new function object. We can even get away with assuming                                   // 55 the method takes exactly one argument, since that happens to be true                                  // 56 in every case, so we don't have to touch the arguments object. The                                    // 57 only additional allocation required is the completion record, which                                   // 58 has a stable shape and so hopefully should be cheap to allocate.                                      // 59