https://blogs.janestreet.com/introducing-incremental/
http://www.umut-acar.org/self-adjusting-computation