I have been working on this one for a few months already, so the timing is only incidental with the recent protests. Mostly these are my thoughts on how to write simulation code in a more declarative style as opposed to a more imperative style that I have been doing for most projects so far. Recently I read some blogs about Haskell, the language was on my mind, and I thought that a declarative style and Haskell likely go well together. That resulted in a quick draft during my morning commute and, much later, in this write up.