   [activity & features]
   {:pre  [(or (activity? activity)
               (and (keyword? activity)
-                   (within-with-activity?)))
+                   (has-*activity*?)))
           (every? keyword? features)]
    :post [%
           (every? (fn [x] (instance? Boolean x)) %)]}

  omitted."
  ([id-or-name]
   {:pre  [(resolvable? id-or-name)
           (within-with-activity?)]
    :post [(or (nil? %)
               (instance? View %))]}
   (-find-view *activity* id-or-name))

               *activity* activity#]
       ~@body)))

(defn activity?
  "Determines whether the argument is an instance of Activity."
  [x]
  (instance? Activity x))

(defn has-*activity*?
  "Ensures that the calling context has a valid *activity* var."
  []
  (and (bound? #'*activity*)
       (activity? *activity*)))
