code: func (d *Dataset) SaveFirstRowTo(decodedObjects ...interface{}) *Dataset {
  	fn := func(reader io.Reader) error {
  		return util.TakeMessage(reader, 1, func(encodedBytes []byte) error {
  			row, err := util.DecodeRow(encodedBytes)
  			if err != nil {
  				fmt.Fprintf(os.Stderr, "Failed to decode byte: %v\n", err)
  				return err
  			}
  			var counter int
  			for _, v := range row.K {
  				if err := setValueTo(v, decodedObjects[counter]); err != nil {
  					return err
  				}
  				counter++
  			}
  			for _, v := range row.V {
  				if err := setValueTo(v, decodedObjects[counter]); err != nil {
  					return err
  				}
  				counter++
  			}
  
  			return nil
  		})
  	}
  	return d.Output(fn)
  }
docs: // SaveFirstRowTo saves the first row's values into the operands.