      (let [proc value
            [_ args] form]
        (apply-proc proc args state))
-     ::reset-env
+     ::return-from-call
      (assoc state
        :form nil
        :env (nth form 1))

                        '(f 1))))
  (:value (last (interp '(define f (lambda (n) (if (>= n 1) f 1)))
                        '(f 1))))
  (:value (last (interp '(define fact (lambda (n) (if (<= n 1) 1 (* (fact (- n 1)) n))))
                        '(fact 4))))
  (:value (last (interp '(define fact (lambda (n) (if (<= n 1) 1 (* (fact (- n 1)) n))))

    (assoc state
      :form (:code this)
      :env (extend-env (:env this) (:params this) args)
      :cont `((::return-from-call ~(:env state)) ~@(:cont state))))
  mem/StoredData
  (-->clojure [this store]
    this))
