anchor.diff:  ;;
   ;; Components:
   ;;
  -;;     thought-in-port  --> +--------+ --> voice-out-port
  -;;                          | PERSON |
  -;;     thought-out-port <-- +--------+ <-- voice-in-port
  +;;     +--------+ --> voice-out-port
  +;;     | PERSON |
  +;;     +--------+ <-- voice-in-port
   ;;
   ;;
   ;;     voice-in-port  --> +-----+ --> vibration-out-port
  
positive.code: (in-package :csp-sim)
  
  
  (defgeneric think (person events)
    (:documentation "TODO"))
  
  
  (defclass vibration-in-port (in-port)
    nil)
  
negative.code:   nil)
  
  
  (defclass vibration (object)
    ((message
      :initarg :message
      :initform (error ":message missing")
      :reader message-of
      :type string)
     (duration
      :initarg :duration
      :initform (error ":duration missing")
      :reader duration-of
      :type time-type)))
  
  
  (defclass voice (object)
  