Index: src/clj/clojure/core_print.clj
===================================================================
--- src/clj/clojure/core_print.clj	(revision 1337)
+++ src/clj/clojure/core_print.clj	(working copy)
@@ -69,7 +69,14 @@
       (.write w " "))))
 
 (defmethod print-method :default [o, #^Writer w]
-  (print-method (vary-meta o #(dissoc % :type)) w))
+  (try
+   (print-method (vary-meta o #(dissoc % :type)) w)
+   (catch Exception _
+     (.write w "#<")
+     (.write w (.getSimpleName (class o)))
+     (.write w " ")
+     (.write w (str o))
+     (.write w ">"))))
 
 (defmethod print-method nil [o, #^Writer w]
   (.write w "nil"))
