Reimplementing data structures in Clojure with Midje so I can maybe learn...