   [ctx]
   (deref (:context ctx)))
 
-(defmethod  get-context :conexp.fca.contexts/Context
+(defmethod get-context :conexp.fca.contexts/Context
   [x] x)
 
 (defn make-context-compatible

                                          col
                                          (if cross "X" " ")))))))

(defn-typecheck change-attribute-name ::editable-context
 "Changes the attributes name of given to requested, if requested is
  not taken by another attribute. In this case, -# with a unique # is
  appended to the requested name. Returns the new attribute name."
  [ectx given requested]
  (let [att-cols @(:attr-cols ectx)]
    (if (= (type given) String)
      (change-attribute-name ectx (att-cols given) requested)

     (ref-set (:obj-rows ectx) @(:obj-rows new)))
    (call-many widgets #(add-widget ectx %))))

(defn- set-context
  "Sets the bound fca-context of an editable context object to ctx."
  [ectx ctx]
  (assert (instance? editable-context ectx))
  (set-context-keep-order ectx ctx (get-order ectx)))

(defn- change-incidence-cross
  "Sets or unsets the cross in the incidence relation of the
  editable-context."
  [ectx obj att cross]
  (assert (instance? editable-context ectx))
  (let [ostr (if (= (type obj) String)
               obj
               (@(:obj-rows ectx) obj)),
