anchor.diff:    (:documentation "Generates a Ohm Model Class Key.")
     (:method :before ((model ohm-model) &rest segments)
              (declare (ignore segments))
  -           (unless (managed-object-p model)
  -             (error 'ohm-missig-id-error :object model)))
  +           (ensure-managed-object model))
     (:method ((model ohm-model) &rest segments)
       (apply #'make-key (class-name (class-of model)) segments)))
   
  
positive.code:   (:documentation "Saves the MODEL into the data store. Model must be a managed object defined with DEFOHM and created
  with CREATE.")
    (:method :before ((model ohm-model))
             (unless (managed-object-p model)
               (error 'ohm-missig-id-error :object model)))
    (:method ((model ohm-model))
      (with-transactional-connection ()
        (multiple-value-bind (attributes index-keys)
  
negative.code:    (savedp :reader savedp)))
  
  (defmacro defohm (name superclasses slots)
    `(defclass ,name ,(if superclasses superclasses `(ohm-model))
       ,slots
       (:metaclass ohm-metaclass)))
  
  (defun find-slot (class slot-name)
    (find slot-name (closer-mop:class-direct-slots class) :key #'closer-mop:slot-definition-name))
  
  (defun ohm-model-slot-p (slot-name)
    "Checks if slot-name is defined in OHM-MODEL."
    (find-slot (find-class 'ohm-model) slot-name))
  
  (defgeneric managed-object-p (model)
    (:documentation "Tests if the given MODEL has been persisted resp. is dirty or not.")
    (:method ((model ohm-model))
      (and (slot-boundp model 'id)
           (not (null (id model))))))
  
  (defun make-key (&rest segments)
    (with-output-to-string (out)
      (format out "~{~A~^:~}" segments)))
  
  (defun ensure-managed-object (object)
    (unless (managed-object-p object)
      (error 'ohm-missig-id-error :object object)))
  
  (defgeneric object-key (model &rest segments)
    (:documentation "Generates an Ohm model object key.")
    (:method :before ((model ohm-model) &rest segments)
             (declare (ignore segments))
             (ensure-managed-object model))
    (:method ((model ohm-model) &rest segments)
      (apply #'make-key (class-name (class-of model)) (id model) segments)))
  
  