withValueDependency =
						(key, fn) =>
						(...args) => {
							addValueDependency(key);
							return fn(...args);
						}
@template T
@param {string} key key
@param {(expression: Expression) => T} fn fn
@returns {(expression: Expression) => T} result