anchor.diff:     (children-by-id
       :initform (make-hash-table)
       :reader children-by-id-of
  -    :type hash-table)
  -   (out-in-map
  -    :initform (make-hash-table)
  -    :reader out-in-map-of
       :type hash-table)))
   
   
  
positive.code:   (list (make-instance 'event
  		       :owner sim
  		       :time (clock-of sim)
  		       :fn #'port-ready
  		       :args (list out))))
  
  
  (defmethod port-ready ((sim simulator) (p port))
    "Contract: simulator port -> events
  
     Description: specialize this method to generate events when p gets
                  unlocked."
    nil)
  
  
  
negative.code: 
  
  (defclass in-port (port)
    nil)
  
  
  (defclass out-port (port)
  