code: func Timeout(check Check, timeout time.Duration) Check {
  	return func() error {
  		c := make(chan error, 1)
  		go func() { c <- check() }()
  		select {
  		case err := <-c:
  			return err
  		case <-time.After(timeout):
  			return timeoutError(timeout)
  		}
  	}
  }
docs: // Timeout adds a timeout to a Check. If the underlying check takes longer than
  // the timeout, it returns an error.