code: func (reader *DataFileReader) Next(v interface{}) (bool, error) {
  	hasNext, err := reader.hasNext()
  	if err != nil {
  		return false, err
  	}
  
  	if hasNext {
  		err := reader.datum.Read(v, reader.blockDecoder)
  		if err != nil {
  			return false, err
  		}
  		reader.block.BlockRemaining--
  		return true, nil
  	}
  
  	return false, nil
  }
docs: // Next reads the next value from file and fills the given value with data.
  // First return value indicates whether the read was successful.
  // Second return value indicates whether there was an error while reading data.
  // Returns (false, nil) when no more data left to read.