     private func _stopObservingFrame() {
         if _observingFrame {
             removeObserver(self, forKeyPath: "_view.translatesAutoresizingMaskIntoConstraints")
+            removeObserver(self, forKeyPath: "_view.frame")
+            removeObserver(self, forKeyPath: "_view.bounds")
             _observingFrame = false
         }
     }

        change: [NSKeyValueChangeKey: Any]?,
        context _: UnsafeMutableRawPointer?
    ) {
        guard _setupComplete, _updateLock == 0, _evaluating.isEmpty, let new = change?[.newKey] else {
            return
        }
        switch new {
        case let useAutoresizing as Bool:
            if useAutoresizing != change?[.oldKey] as? Bool {
                update()

            }
            if _anyChildDependsOnContentOffset == true {
                children.forEach { $0.update() }
            }
            _previousBounds.origin = view.bounds.origin
        }
    }

    public override func observeValue(
