docs: function isCyclic(obj) {
      let seenObjects = [];
  
      const detect = obj => {
          if (obj && typeof obj === "object") {
              if (seenObjects.includes(obj)) {
                  return true;
              }
  
              seenObjects.push(obj);
              for (const key in obj) {
                  if (obj.hasOwnProperty(key) && detect(obj[key])) {
                      return true;
                  }
              }
          }
  
          return false;
      };
  
      return detect(obj);
  }