code: func (r *Reader) ReadAll() (records [][]string, err error) {
  	for {
  		record, err := r.Read()
  		if err == io.EOF {
  			return records, nil
  		}
  		if err != nil {
  			return nil, err
  		}
  		records = append(records, record)
  	}
  }
docs: // ReadAll reads all the remaining records from r.
  // Each record is a slice of fields.
  // A successful call returns err == nil, not err == EOF. Because ReadAll is
  // defined to read until EOF, it does not treat end of file as an error to be
  // reported.