Hands-on Reactive Programming with Clojure. (2019)