code: func (ts *TemporalSet) pick(exp time.Time) (*LogShard, error) {
  	for _, shard := range ts.Shards {
  		if exp.Before(shard.WindowStart) {
  			continue
  		}
  		if !exp.Before(shard.WindowEnd) {
  			continue
  		}
  		return &shard, nil
  	}
  	return nil, fmt.Errorf("no valid shard available for temporal set %q for expiration date %q", ts.Name, exp)
  }
docs: // pick chooses the correct shard from a TemporalSet to use for the given
  // expiration time. In the case where two shards have overlapping windows
  // the earlier of the two shards will be chosen.