anchor.diff:                1)
              (if had-birthday-p 1 0))))))
   
  -(eval-when (:compile-toplevel :execute :load-toplevel)
  -  ;; Promote the  DEFSTRUCT function to  a generic function that  we can
  -  ;; define a method AROUND.
  -  (warn "Redefining PLAYER-AGE around ~a"
  -        (symbol-function 'player-age))
  -  (let ((player-age-fn (symbol-function 'player-age)))
  -    (unless (typep player-age-fn 'generic-function)
  -      (fmakunbound 'player-age))
  -    (defgeneric player-age (player)
  -      (:documentation "Get the AGE of the PLAYER"))
  -    (when player-age-fn
  -      (defmethod player-age ((player player))
  -        (funcall player-age-fn player)))))
  -
  -(defmethod player-age :around (player)
  -  "This  AROUND method  will define  the PLAYER's  age based  upon their
  -date-of-birth   (`PLAYER-DATE-OF-BIRTH')   rather    than   the   stored
  -`PLAYER-AGE' slot-value, when the date of birth is known."
  +(defun player-age (player) 
  +  (check-type player player)
     (let ((dob (player-date-of-birth player)))
       (if dob
           (let ((legal-age (legal-age dob))
  -              (recorded-age (call-next-method)))
  +              (recorded-age (player-age% player)))
             (unless (= legal-age recorded-age)
  -            (setf (player-age player) legal-age))
  +            (setf (player-age% player) legal-age))
             legal-age)
  -        (call-next-method))))
  +        (player-age% player))))
   
   (defun player-adult-p (player)
     "Reurns a generalized true value if PLAYER is 18 or older.
  
positive.code: 
  The player's date of birth, if it is known.
  
  @item AGE
  
  The  player's age,  if it  is known.  Note that  the reader  method will
  compute the age from the date-of-birth when one is present.
  
  For sanity-checking purposes only, the age  is clamped to 0…130. This is
  mostly to detect the not-uncommon  data-entry error of someone supplying
  a  two-digit year-of-birth  that  is later  interpreted  as their  being
  1,900+ years old.
  
  @end itemize"
    (id (binary<-uuid (uuid:make-v4-uuid))
  
negative.code: 
  ;;; Creatures, Players.
  
  (datafly:defmodel player
    "A  structure representing  a  player  who is  a  human  being in  the
   real world.
  