anchor.diff:  
   (defun make-persisted-instances (class ids)
     (loop for id in ids
  -     collect (make-persisted-instance class id (fetch-object class id))))
  +     collect (make-persisted-instance class id (fetch-data class id))))
   
  -(defun fetch-object (class id)
  -  "Fetches an object's attributes from the data store."
  +(defun fetch-data (class id)
  +  "Fetches an object's attributes from the data store.
  +Signals an error when non-existing ID is given."
     (red:hgetall (make-key class id)))
   
   (defgeneric save (model)
  
positive.code:            (unless (managed-object-p model)
               (error 'ohm-missig-id-error :object model)))
    (:method ((model ohm-model))
      (with-transactional-connection ()
        (red:del (object-key model))
        (red:srem (class-key model 'all) (id model)))))
  
  (defmacro retrieve (class &rest params)
    (let ((gclass (gensym "class"))
  
negative.code: (defun plist->object (class plist)
    (apply #'make-instance class plist))
  
  (defmacro make-persisted-instance (class id &optional initargs)
    "Creates a instance ARGS. ARGS is a Redis result set.
  Obviously this is only sensible inside a WITH-CONNECTION block."
    (let ((ginstance (gensym "instance")))
  