This looks a lot like `Object.observe`, which was rejected from ECMAScript at stage 2 in favour of observables, IIRC. The example use case (observing `offsetTop`) is usually solved with an [`IntersectionObserver`] [0] these days, isn't it?
Don't get me wrong: I like what this library is doing, I'm just trying to figure out when it should be used instead of its alternatives.
[0]: https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver