 
 (s/defn ^:ql ^:always-validate expressions
   "Top-level clause. Add additional calculated fields to a query."
+  {:added "0.17.0"}
   [query, m :- {s/Keyword Expression}]
   (assoc query :expressions m))
 

                                                                   (normalize-token unit))})))

(s/defn ^:ql ^:always-validate expression :- ExpressionRef
  [expression-name :- (s/cond-pre s/Str s/Keyword)]
  (i/strict-map->ExpressionRef {:expression-name (name expression-name)}))


;;; ## filter

(s/defn ^:private ^:always-validate compound-filter :- i/Filter
  ([compound-type, subclause :- i/Filter]
   (log/warn (u/format-color 'yellow "You shouldn't specify an %s filter with only one subclause." compound-type))
   subclause)

