code: func (r *Linear) Duration() time.Duration {
  	a := r.First + time.Duration(r.attempt)*r.Step
  	if a < 0 {
  		return 0
  	}
  	if a <= r.Max {
  		return a
  	}
  	return r.Max
  }
docs: // Duration returns retry duration based on state