code: func GetIAPD(o dhcp6.Options) ([]*IAPD, error) {
  	vv, err := o.Get(dhcp6.OptionIAPD)
  	if err != nil {
  		return nil, err
  	}
  
  	// Parse each IA_PD value
  	iapd := make([]*IAPD, len(vv))
  	for i := range vv {
  		iapd[i] = &IAPD{}
  		if err := iapd[i].UnmarshalBinary(vv[i]); err != nil {
  			return nil, err
  		}
  	}
  
  	return iapd, nil
  }
docs: // GetIAPD returns the Identity Association for Prefix Delegation Option value,
  // described in RFC 3633, Section 9.
  //
  // Multiple IAPD values may be present in a a single DHCP request.