code: function DefaultArrayDeserializer(deserializeFunc, buffer, bufferOffset, arrayLen=null) {
    // interpret a negative array len as a variable length array
    // so we need to parse its length ourselves
    if (arrayLen === null || arrayLen < 0) {
      arrayLen = getArrayLen(buffer, bufferOffset);
    }
    const array = new Array(arrayLen);
    for (let i = 0; i < arrayLen; ++i) {
      array[i] = deserializeFunc(buffer, bufferOffset, null);
    }
    return array;
  }
docs: Template for most primitive array deserializers which are bound to this function and provide
  the deserializeFunc param
  @param deserializeFunc {function} function to deserialize a single instance of the type. Typically hidden
  from users by binding.
  @param buffer {Buffer} buffer to deserialize data from
  @param bufferOffset {Array.number}
  @param arrayLen {null|number}
  @returns {Array}
  @constructor