anchor.diff:  
   * `clojure.set` - just loads `clojure.set` namespace (if not already loaded)
   * `[clojure.set :as set]` - load and create an alias `set` for the namespace `clojure.set`
  -** This allows you to refer to vars in set with for example `set/union` instead of `clojure.set/union`
  +** This allows you to refer to vars in `set` with for example `set/union` instead of `clojure.set/union`
   * `[clojure.set :refer [union intersection]]` - load and refer specific vars into this namespace
   ** This allows you to use just `union` instead of `clojure.set/union`
   
  
positive.code: The `:require` class corresponds to the `require` function which specifies one or more namespaces to load that this namespace depends on. For each namespace, `require` can do several things:
  
  * Load (or reload) the namespace
  * Optionally assign an *alias* that can be used to refer to vars from the loaded namespace only in the scope of this namespace
  * Optionally *refer* vars from the loaded namespace for use by unqualified name in this namespace
  
  The last two parts are all about making names easier to use. While vars can always be referred to by their fully-qualified name, we rarely want to type fully-qualified names in our code. Aliases let us use shorter versions of longer fully-qualified aliases. Refer allows us to use names without a namespace qualifier at all.
  
  
negative.code: This example imports the `Date` and `UUID` class from the `java.util` package and the `File` class from the `java.io` package.
  
  
  