 	}
 
 	public func dispose() {
-		if state.tryDispose(), let disposables = disposables.swap(nil) {
-			for disposable in disposables {
-				disposable.dispose()
-			}
+		guard state.tryDispose(), let disposables = disposables.swap(nil) else { return }
+
+		for disposable in disposables {
+			disposable.dispose()
 		}
 	}
 


		set(disposable) {
			_inner.swap(disposable)?.dispose()
			if let disposable = disposable, isDisposed {
				disposable.dispose()
			}

		}

		func dispose() {
			guard state.tryDispose() else { return }
			action?()
			action = nil
		}
	}

