EDN has a built-in default writer for all objects, this may cause the cache to write something like
`
#object[Thing "thing-str"]`
that cannot be read to construct an actual {{Thing}} instance.
This leads to an issue when trying to use the analysis data since it will contain different things when coming from cache or not.
This issue was highlighted by transit since it has no default writer and didn't know how to encode JSValue. (link: 1) Instead of writing something unusable it failed early.
The cache write should rather gracefully fail (and warn) instead of writing unusable data or exploding.
(link: 1) http://dev.clojure.org/jira/browse/CLJS-1666