anchor.diff:                  unlock.
                   Specialize this method to provide your own lock
                   policy."
  -  (assert (not (lock-of p)) nil "Locking a locked port.")
     (setf (lock-of p) t)
     (list (make-instance 'event
   		       :owner sim
  
positive.code:   sim)
  
  
  (defmethod lock-port ((sim simulator) (p port) (obj object))
    "Contract: simulator port object -> events
  
  
negative.code: 		       :args (list p))))
  
  
  (defmethod unlock-port :before ((sim simulator) (p port))
    (assert (lock-of p) nil "Unlocking a not locked port!"))
  
  
  (defmethod unlock-port ((sim simulator) (in in-port))
    "Contract: out-port -> events"
    (setf (lock-of in) nil)
    (let ((waiting (pop (waiting-queue-of in))))
      (when waiting
  