Generalize bulk_operations logic

LMS-11366

@nasthagiri @cpennington please review
why does this call not set the `safe` parameter?