+;; We could try and avoid flushing the cache at every change, e.g. with:
+;; (defun nlinum--before-change (start _end)
+;; (if (and nlinum--line-number-cache
+;; (< start (car nlinum--line-number-cache)))
+;; (save-excursion (goto-char start) (nlinum--line-number-at-pos))))
+;; But it's far from clear that it's worth the trouble. The current simplistic
+;; approach seems to be good enough in practice.
+