-- | Records consists of a fixed amount of data for each field, and also a possibly large amoutn of variable data at the end.
getRecord :: RecordInfo -> Get Record
getRecord recordInfo@(RecordInfo fields) = do
  record <- Record <$> mapM getValue fields
  when (hasVariableData recordInfo) $ do
    _ <- getAllVariableData
    return ()
  return record
getRecord :: RecordInfo -> Get Record
getRecord recordInfo@(RecordInfo fields) = do
  record <- Record <$> mapM getValue fields
  when (hasVariableData recordInfo) $ do
    _ <- getAllVariableData
    return ()
  return record
getRecord recordInfo@(RecordInfo fields) = do
  record <- Record <$> mapM getValue fields
  when (hasVariableData recordInfo) $ do
    _ <- getAllVariableData
    return ()
  return record