code: func (l *List) AppendRow(row Row) RowPtr {
  	chkIdx := len(l.chunks) - 1
  	if chkIdx == -1 || l.chunks[chkIdx].NumRows() >= l.chunks[chkIdx].Capacity() || chkIdx == l.consumedIdx {
  		newChk := l.allocChunk()
  		l.chunks = append(l.chunks, newChk)
  		if chkIdx != l.consumedIdx {
  			l.memTracker.Consume(l.chunks[chkIdx].MemoryUsage())
  			l.consumedIdx = chkIdx
  		}
  		chkIdx++
  	}
  	chk := l.chunks[chkIdx]
  	rowIdx := chk.NumRows()
  	chk.AppendRow(row)
  	l.length++
  	return RowPtr{ChkIdx: uint32(chkIdx), RowIdx: uint32(rowIdx)}
  }
docs: // AppendRow appends a row to the List, the row is copied to the List.