   (write-exemplar
     "vector_94_keywords_repeated_twice"
     "Vector of 94 keywords, repeated twice"
-    (vector-of-keywords 94 188)))
-
+    (vector-of-keywords 94 188))
+
+  (write-exemplar
+    "vector_95_keywords_repeated_twice"
+    "Vector of 95 keywords, repeated twice"
+    (vector-of-keywords 95 190)))

  (write-exemplar "one_string" "A single string" "hello")
  (write-exemplar "one_keyword" "A single keyword" :hello)
  (write-exemplar "one_symbol" "A single symbol" 'hello)
  
  (def vector-simple  [1 2 3])
  (def vector-mixed  [0 1 2.0 true false "five" :six 'seven "~eight" nil])

  
(defn write-description [file-name description vals]
  (println "##" description)
  (println "* Files:" (str file-name ".edn") (str file-name ".json") (str file-name ".mp"))
  (println "* Value (EDN)")
  (println)
  (doseq [item vals] (println "    " (pr-str item)))
  (println))

(defn write-transit [file-name & vals]
  (doseq [format [{:type :json, :suffix ".json"} {:type :msgpack :suffix ".mp"}]]
    (with-open [os (io/output-stream (str file-name (:suffix format)))]
      (let [jsw (w/writer os (:type format))]
        (doseq [item vals] (w/write jsw item))))))

(defn write-exemplar [file-name description & vals]
  (write-description file-name description vals)
  (with-open [w (io/writer (str file-name ".edn"))]
    (binding [*out* w] (apply pr vals)))
  (apply write-transit file-name vals))

(binding [*out* (io/writer "README.md")]
  (println "# Example transit files.\n\n")
  (println "There are three files for each value: An EDN file and two transit files,")
  (println "one encoded in JSON and one in MessagePack\n\n")
  (println "Note: The example transit files in this directory are *generated*.")
  (println "See https://github.com/cognitect/transit-clj/blob/master/test/exemplar.clj\n\n")

  (write-exemplar "nil" "The nil/null/ain't there value" nil)
  (write-exemplar "true" "True" true)
