          (every? #(branch! index %) (:branches x))))
 
 (deftraced step! [index x] [x]
+  (check (id! index (:id x)))
   (case (:type x)
     :call (call! index x)
     :constant (constant! index x)


(deftraced notebook! [index x] [x]
  (check (= :notebook (:type x))
         (sequential? (:pages x))
         (every? #(page! index (get index %)) (:pages x))))



(deftraced page! [index x] [x]
  (check (= :page (:type x))
         (id! index (:id x))
         (sequential? (:args x))
         (every? #(page-arg! index (get index %)) (:args x))
         (sequential? (:steps x))
