code: func (v IPVar) Set(s string) error {
  	if len(s) == 0 {
  		v.Val = nil
  		return nil
  	}
  	if net.ParseIP(s) == nil {
  		return fmt.Errorf("%q is not a valid IP address", s)
  	}
  	if v.Val == nil {
  		// it's okay to panic here since this is programmer error
  		panic("the string pointer passed into IPVar should not be nil")
  	}
  	*v.Val = s
  	return nil
  }
docs: // Set sets the flag value