   omitted."
   ([id-or-name]
    {:pre  [(resolvable? id-or-name)
-           (within-with-activity?)]
+           (has-*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- within-with-activity?
  "Ensures that the function is within a valid with-activity form."
  []
  (and (bound? #'*activity*)
       (activity? *activity*)))

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