This is a simple and composable abstraction for building processing pipelines that handle errors and early termination.