function readFieldBegin(reader, lastFid) {
  const type = reader.view.getUint8(reader.offset++)
  if ((type & 0x0f) === CompactType.STOP) {
    // STOP also ends a struct
    return [0, 0, lastFid]
  }
  const delta = type >> 4
  let fid // field id
  if (delta) {
    // add delta to last field id
    fid = lastFid + delta
  } else {
    throw new Error('non-delta field id not supported')
  }
  return [getCompactType(type), fid, fid]
}
Read field type and field id

@param {DataReader} reader
@param {number} lastFid
@returns {[number, number, number]} [type, fid, newLastFid]