bind = (target, source, update, invalidation = Inputs.disposal(target)) => {
Inputs.bind(target, source, invalidation);
if (update) {
update();
source.addEventListener("input", update);
invalidation.then(() => source.removeEventListener("input", update));
}
return target;
}