 (def ^:dynamic *retry-policy* (retry-policy :default))
 
 (defmacro with-session
-  "Executes query with given session"
+  "Executes a query with the given session"
   [session & body]
   `(binding [*default-session* ~session]
      ~@body))
 
 (defmacro async
-  "Executes query asyncronously"
+  "Executes a query asyncronously"
   [& body]
   `(binding [*async* true]
      ~@body))
 
 (defmacro prepared
-  "Helper macro to execute prepared statement"
+  "Executes a prepared statement"
   [& body]
   `(binding [cql/*prepared-statement* true
              cql/*param-stack*        (atom [])]

;;

(defn round-robin-policy
  "Round-robin load balancing policy. Each next query is ran on the node that was contacted
  least recently."
  []
  (RoundRobinPolicy.))

(defn dc-aware-round-robin-policy
  "Datacenter aware load balancing policy. Each next query is ran on the node that was contacted
  least recently, over the nodes located in current datacenter. Nodes from other datacenters will
  be tried only after the local nodes."
  [^String local-dc]
  (DCAwareRoundRobinPolicy. local-dc))

(defn token-aware-policy
  "Wrapper to add token-awareness to the underlying policy."
  [^LoadBalancingPolicy underlying-policy]
  (TokenAwarePolicy. underlying-policy))



(defn constant-reconnection-policy
  "Reconnection policy that waits constantly longer between each
reconnection attempt but keeps a constant delay once a maximum delay is
reached.

   Delay should be given in milliseconds"
  [delay-ms]
