constructor(fn, scheduler = null, scope) {
          this.fn = fn;
          this.scheduler = scheduler;
          this.active = true;
          this.deps = [];
          this.parent = undefined;
          recordEffectScope(this, scope);
      }
The bitwise track markers support at most 30 levels of recursion.
This value is chosen to enable modern JS engines to use a SMI on all platforms.
When recursion depth is greater, fall back to using a full cleanup.