 
 /**
  * Data structure that keeps its elements for a short time, and then removes them automatically.
+ * Note that expirations are done based on Timer granularity, so you may pull a value out
+ * that technicaly should be expired, but only by a few milliseconds.
  *
  * All operations are O(n), including add().
  */

    /**
     * Initializes the expiring set.
     *
     * @param ttl Time to live value for set elements, in seconds.
     * @param expireHandler a function to be conveniently registered as an event listener.
     */
    public function ExpiringSet (ttl :Number, expireHandler :Function = null)
    {
        _ttl = Math.round(ttl * 1000);
        _timer = new Timer(_ttl, 1);
        _timer.addEventListener(TimerEvent.TIMER, checkTimer);


     * Returns the time to live value for this ExpiringSet.  This value cannot be changed after
     * set creation.
     */
    public function get ttl () :int
    {
        return _ttl;
    }

    /**
