               (reader/read-string exp)
               exp)
         final (list '= (get clause "name") exp)]
-    [(list '= (get clause "name" 'x) exp)]))
+    [(denotation/Let. (get clause "name" 'x) exp)]))
 
 (defmethod compile-clause "change" [clause world]
   (let [rule (get-in @state [:madlibs (:ml clause)])


(defn inject-compiled []
  (let [comped (compile-state)
        tick-rules (stratifier/strata->ruleset (:rules comped))
        paused? (:paused @cur-env)]
    (pause cur-env)
    (swap! cur-env assoc :tick-rules tick-rules)

        ui-facts (try
                   (reader/read-string ui)
                   (catch :default e))]
    [(denotation/AssertMany. (if-not ui-facts
                               []
                               `(hiccup ~ui-facts)))]
    ))

(defn compile-rule* [r world]
  (mapcat compile-clause (:clauses r)))

(defn compile-rule [r world]
  (denotation/clauses->rule (vec (compile-rule* r world))))

(defn compile-fact [f world]
  (dissoc f :type))
