code: async function crash (reason_, runHooks_, timeout_) {
      const reason = reason_ || 0;
      const runHooks = (typeof runHooks_ !== 'undefined') ? runHooks_ : true
      const timeout = timeout_ || 5000;
  
      // NOTE: All hooks are stored as promise-returning functions.  This allows
      // this code to be uniform as hell.
  
      /* Avoid running hooks multiple times */
      const wasCrashed = G.crashed;
      G.crashed = true;
  
      /* wait for hooks to complete */
      if (runHooks && !wasCrashed) {
          /* Set the timeout */
          setTimeout(crash.bind(null, EXIT_TIMEOUT, false), timeout).unref();
  
          /* Get all hook promises */
          const promises = G.hooks.map(fn => fn(reason));
          await Promise.settle(promises);
      }
  
      /* find out the exit code we should use */
      const exitCode = calcExitCode(reason);
      process.exit(exitCode);
  }
docs: /* A function that crashes the application