Dataloaders: why there is before_batch if there is collate_fn?

.dataloaders() of Datasets has this argument before_batch. But I wonder why it was necessary to have it if there is already a collate_fn method for Dataloader in pytorch?
What is the typical use case?