code: function tryStringify(arg) {
    try {
      return JSON.stringify(arg);
    } catch (err) {
      // Populate the circular error message lazily
      if (!CIRCULAR_ERROR_MESSAGE) {
        try {
          const a = {}; a.a = a; JSON.stringify(a);
        } catch (err) {
          CIRCULAR_ERROR_MESSAGE = err.message;
        }
      }
      if (err.name === 'TypeError' && err.message === CIRCULAR_ERROR_MESSAGE) {
        return '[Circular]';
      }
      throw err;
    }
  }
docs: TODO: Add support for Map, Set, MapIterator, SetIterator, DataView