let r = ref 42;; let a = !r;; r := 12;; let b = !r;; let log = ref [];; let logged_add a b = log := a::b::(!log); a + b ;; let sum l = List.fold_right logged_add l 0 ;;