anchor.diff:               [taoensso.encore :as enc :refer (have? have have-in)])))
   ----
   
  +[source,clojure]
  +----
  +(ns taoensso.sente
  +  #+clj
  +  (:require
  +   [clojure.string     :as str]
  +   [clojure.core.async :as async)]
  +   [taoensso.encore    :as enc]
  +   [taoensso.timbre    :as timbre]
  +   [taoensso.sente.interfaces :as interfaces])
  +
  +  #+cljs
  +  (:require
  +   [clojure.string  :as str]
  +   [cljs.core.async :as async]
  +   [taoensso.encore :as enc]
  +   [taoensso.sente.interfaces :as interfaces])
  +
  +  #+cljs
  +  (:require-macros
  +   [cljs.core.async.macros :as asyncm :refer (go go-loop)]
  +   [taoensso.encore        :as enc    :refer (have? have have-in)]))
  +----
   
   == Backwards compatibility
   
  -At the time of writing, there is no way to use `.cljc` files in versions of Clojure less than 1.7, nor is there any porting mechanism to preprocess `.cljc` files like CLJX does. For that reason library maintainers may need to wait for a while until they can safely drop support for older versions of Clojure and adopt reader conditionals.+At the time of writing, there is no way to use `.cljc` files in versions of Clojure less than 1.7, nor is there any porting mechanism to preprocess `.cljc` files to output `.clj` and `.cljs` files like cljx does. For that reason library maintainers may need to wait for a while until they can safely drop support for older versions of Clojure and adopt reader conditionals.
  
positive.code: 
  == Splicing
  
  The splicing reader conditional is not as widely used as the standard one. For an example on its usage, let's get really meta and look at the https://github.com/clojure/clojure-clr/blob/544e9354e121e10a656702222d47c8398468fb02/Clojure/Clojure.Tests/clojure/test_clojure/reader.cljc#L672-L677[tests] for reader conditionals in the ClojureCLR reader. What might not be obvious at first glance is that the vectors inside the splicing reader conditional are being wrapped by a surrounding vector.
  
  [source,clojure]
  ----
  
negative.code: 
  == Exception handling
  
  Exception handling is another area that benefits from reader conditionals. ClojureScript supports `(catch :default)` to catch everything, however you will often still want to handle host specific exceptions. Here's an https://github.com/runexec/lemon-disc/blob/c24c6638f1d476a0f5470387e52a2b702117c4a9/src/lemon_disc/core.cljc#L65-L72[example] from https://github.com/runexec/lemon-disc[lemon-disc].
  
  [source,clojure]
  ----
  