   (destroy [this]))
 
 
-(defrecord Duratom
+(deftype Duratom
   [storage-backend underlying-atom lock release]
   IDurable ;; 2 polymorphic levels here
   (write_out [_]

        (write_out this)
        result)))
  IRef
  (setValidator [this validator]
    (set-validator! underlying-atom validator))
  (getValidator [_]
    (get-validator underlying-atom))

    @underlying-atom)
  )

;; provide a `print-method` that resembles Clojure atoms
(defmethod print-method Duratom [dura ^Writer w]
  (.write w "#")
  (.write w (-> dura class .getName))
