   (when-not (= (tbox-language tbox-1)
                (tbox-language tbox-2))
     (illegal-argument "Cannot unify tboxes of different description logics."))
-  (TBox. (tbox-language tbox-1)
-         (merge-with (fn [old new]
-                       (if-not (= old new)
-                         (illegal-state "Cannot unify tbox with different definitions for the same target.")
-                         new))
-                     (tbox-definition-map tbox-1)
-                     (tbox-definition-map tbox-2))))
+  (make-tbox (tbox-language tbox-1)
+             (merge-with (fn [old new]
+                           (if-not (= old new)
+                             (illegal-state "Cannot unify tbox with different definitions for the same target.")
+                             new))
+                         (tbox-definition-map tbox-1)
+                         (tbox-definition-map tbox-2))))
 
 ;;;
 

  (make-directed-graph (defined-concepts tbox)
                       (fn [A]
                         (free-symbols-in-expression
                          (definition-expression (find-definition tbox A))))))

(defn acyclic?
  "Returns true iff tbox is acyclic."

	 (and (vector? expr)
	      (= 2 (count expr))
	      (tbox? (first expr))
	      (contains? (defined-concepts (first expr))
                         (second expr))))))

;;;

