code: func NewIPOpt(ref *net.IP, defaultVal string) *IPOpt {
  	o := &IPOpt{
  		IP: ref,
  	}
  	o.Set(defaultVal)
  	return o
  }
docs: // NewIPOpt creates a new IPOpt from a reference net.IP and a
  // string representation of an IP. If the string is not a valid
  // IP it will fallback to the specified reference.