function interceptVariable(v, invalidation, excludes, firstSeen = false) {
if (excludes.has(v)) return;
if (v._name === "now") return;
if (!v._reachable) return;
if (!v.ndd) {
v.ndd = true;
observe(v, {
pending: (...args) => notify(v._name, "pending", args[0], v),
rejected: (...args) => notify(v._name, "rejected", args[0], v),
fulfilled: (...args) => notify(v._name, "fulfilled", args[0], v)
});
}
}