Wed Feb 15 00:37 UTC; omar
==========================

 I am frustrated. See if you can spot the problem with this:

 ,----
 | (defn reload-lat!
 |   "Refreshes the lat from disk, returning the updated lat."
 |   ^Lat [{:keys [cached-lat] :as this}]
 |   (swap! cached-lat reload-lat this))
 |
 | (defn disk-interface
 |   "Creates a stateless interface for loading a line from disk.
 |    Automatically triggers an asynchronous reload when instantiated."
 |   [index-file-path
 |    inventory]
 |   (let [this {:index-file-path   index-file-path
 |               :cached-lat        (atom nil)
 |               :inventory         inventory}]
 |     (future (reload-lat! this))
 |     this))
 `----

 This codebase has statefulness all over it, every other function has a
 bang at the end. There's a MutableStore implementation which has the
 docstring "A stateful wrapper around an ImmutableStore". Its only
 method is `put' ffs.

 I think there's a fundamental misunderstanding of words in play.

 Also, this is a disk based storage model. I think that's a terrible
 idea for software which needs to serve multiple requests possibly
 concurrently.

 Anyway, I'm done for now. I need to stop thinking about this.