"Observing" changes to arbitrary key paths on move-only structs

How do I check that the two key paths are related?

let a = \Foo.bar["hello"]!.baz[0].qux
let b = \Foo.bar["hello"]!.baz[0]

Changing a value through keypath a will result in a changed data obtained through keypath b and vice versa.