anchor.diff:  	    (restart-case (error 'port-not-connected)
   	      (cancel ()
   		(values nil nil)))
  -	    (let ((unlock-event (lock-port out obj)))
  -	      (values in unlock-event))))))
  +	    (values (the in-port in)
  +		    (lock-port out obj))))))
   
   
   (defmethod access-port ((sim simulator) (in in-port) (obj object))
     "Contract: simulator in-port object -> (or simulator nil)
  -                                         (or event nil)
  +                                         events
   
      Purpose: to retrieve the owner of in-port.
   
  
positive.code: 
  
  (defmethod lock-port ((p port) (obj object))
    "Contract: port object -> (or event nil)
  
     Purpose: to lock the port and decide when unlock it.
  
  
negative.code:    Purpose: to apply the event to sim
  
     Example: (evolve bell hit-event) -> ring-event vibrate-event"
    (let ((res (apply (fn-of ev)
  		    (append (list (synchronize sim (time-of ev)))
  			    (when (slot-boundp ev 'args)
  			      (args-of ev))))))
      (if (listp res)
  	res
  	(list res))))
  
  
  (defmethod evolving ((sce scenario))
  