docs: function update( curr, headers ) {
  	var reset;
  	var rem;
  
  	curr = copy( curr );
  
  	reset = +headers[ 'x-ratelimit-reset' ];
  
  	// Account for responses having an old reset time arriving after a rate limit reset. Only consider responses having the latest reset time...
  	if ( reset < curr.reset ) {
  		debug( 'Response has an old reset time and does not contain any new rate limit information. Reset: %s. Remaining: %s.', curr.reset, curr.remaining );
  		return curr;
  	}
  	rem = +headers[ 'x-ratelimit-remaining' ];
  
  	// Account for the rate limit being reset during a query sequence...
  	if ( reset > curr.reset ) {
  		debug( 'Rate limit was reset during query sequence. Reset: %s. Remaining: %s.', reset, rem );
  		curr.reset = reset;
  		curr.remaining = rem;
  		return curr;
  	}
  	// Account for responses having the same reset time arriving out-of-order (i.e., a response indicating a higher remaining limit arriving after a response indicating a lower remaining limit).
  	if ( rem < curr.remaining ) {
  		curr.remaining = rem;
  	}
  	debug( 'Reset: %s. Remaining: %s.', reset, rem );
  	return curr;
  }