anchor.diff:  
      Description: specialize lock-port to provide a lock / unlock policy
                   for the out-port."
  -  (if (busy-p-of out)
  +  (if (lock-of out)
         (restart-case (error 'out-port-busy)
   	(wait ()
  -	  (setf (waiting-p-of out)
  -		t)
  +	  (setf (waiting-queue-of out)
  +		(append (waiting-queue-of out)
  +			sim))
   	  (values nil nil))
   	(cancel ()
   	  (values nil nil)))
  
positive.code:   ((id
      :reader id-of
      :type id-type)
     (busy-p
      :initarg :busy-p
      :initform nil
      :accessor busy-p-of
      :type boolean)))
  
  
  (defclass in-port (port)
  
negative.code:     :initarg :owner
      :initform (error ":owner missing")
      :accessor owner-of
      :type simulator)))
  
  
  (defclass out-port (port)
    nil)
  
  
  (defclass stream-in-port (in-port)
  