anchor.diff:  Storing and retrieving custom data types
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   
  -Since storage serialization is done with ~pr-str~, we can make a custom type serializable
  -implementing the ~cljs.core/IPrintWithWriter~ protocol and making it output a tagged literal.
  -
  -For a contrived example, let's implement a ~Action~ type which is of a ceratin kind and
  +Since storage serialization is done with `pr-str`, we can make a custom type serializable
  +implementing the `cljs.core/IPrintWithWriter` protocol and making it output a tagged literal.
  +
  +For a contrived example, let's implement a `Action` type which is of a ceratin kind and
   has a payload associated with it.
   
   [source,Clojure]
  
positive.code: ----
  
  Now that our type is serializable we can make it deserializable by writing a function
  that is able to read its literals and create an instance of ~Action~. After doing this
  we will extend the reader to be able to read our custom type's tagged literals.
  
  [source,Clojure]
  
negative.code: it more Clojurey. Furthermore, it extends the Storage type for treating storage like
  a transient map for inserting and retrieving ClojureScript data structures.
  
  The serialization is done via `pr-str` and it uses the reader for deserializing strings
  into ClojureScript or JavaScript data structures.
  
  Alternatives
  