support :as in run interface

You can now write the following

(run* [x y z :as q]
  ...)