 (defn tagged-any
   "Passes on events where any of tags are present. This stream returns true if
   an event it receives matches those tags, nil otherwise.
+
+  Can be used as a predicate in a where form, but only for
+  testing a single tag.
 
   (tagged-any \"foo\" prn)
   (tagged-all [\"foo\" \"bar\"] prn)"

  "Passes on events where all tags are present. This stream returns true if an
  event it receives matches those tags, nil otherwise.

  (tagged-all \"foo\" prn)
  (tagged-all [\"foo\" \"bar\"] prn)"
  [tags & children]

  
  The streams generated by (where) return the value of expr: truthy if expr
  matched the given event, and falsey otherwise. This means (where (metric 5))
  tests events and returns true if their metric is five.
  
  Note that tagged, tagged-all & tagged-any can only be used with a single tag."
  [expr & children]
  (let [p (where-rewrite expr)
        [true-kids else-kids] (where-partition-clauses children)]
