Each of these methods returns a modified copy of the dataset, similar to how many functional languages work.