anchor.diff:  	(wait ()
   	  (setf (waiting-queue-of out)
   		(append (waiting-queue-of out)
  -			sim))
  +			(list sim)))
   	  (values nil nil))
   	(cancel ()
   	  (values nil nil)))
  
positive.code: 	(wait ()
  	  (setf (waiting-queue-of in)
  		(append (waiting-queue-of in)
  			sim))
  	  (values nil nil))
  	(cancel ()
  	  (values nil nil)))
        (values (the simulator (owner-of in))
  	      (the list (lock-port in obj)))))
  
  
  (defmethod output ((sim simulator) (out out-port) (obj object))
  
negative.code:   sim)
  
  
  (defmethod lock-port ((sim simulator) (p port) (obj object))
    "Contract: simulator port object -> events
  
     Purpose: to lock the port and decide when unlock it.
  
  