code: func (r Release) IncAt(now time.Time) (Release, error) {
  	year := now.Year()
  	month := int(now.Month())
  
  	rel := Release{
  		Year:      r.Year,
  		Month:     r.Month,
  		Iteration: r.Iteration,
  		Extra:     r.Extra,
  	}
  
  	if r.Year > year {
  		return rel, errors.New("release: incremented release caused a regression (year)")
  	}
  
  	if r.Year == year && r.Month > month {
  		return rel, errors.New("release: incremented release caused a regression (month)")
  	}
  
  	if year != rel.Year {
  		rel.Year = year
  		rel.Month = month
  		rel.Iteration = 0
  	} else if month != rel.Month {
  		rel.Month = month
  		rel.Iteration = 0
  	} else {
  		rel.Iteration++
  	}
  
  	return rel, nil
  }
docs: // IncAt increments the release assuming the given timestamp. This is
  // useful for verifying increments.