This is so awesome and so far beyond my current knowledge!
I'm trying to learn and wrap my head around concurrency in Clojure recently. I only know asynchronous programming in Javascript. The mental model in JS for async itself, isn't very complex. Because it's a single thread. But in Clojure, you also have multiple threads so you can have multi threading and async at the same time.
From what I understand, Clojure has made it super simple, but I still haven't understood it.