uint16Numbers: a table containing uint16 numbers. Invalid uint16 numbers will be packed in an undefined manner.
startUint16Index: the zero-based index from which on data should be packed. Can be omitted in which case 0 is used
uint16Count: the amount of uint16s that should be packed. Can be omitted in which case 0 is used (which indicates that the maximum available uint16s should be packed from the indicated startUint16Index)