remove unused diff.js
robustify keypath capturing logic
check dependencies have changed before recomputing values