reworked parallel abstractions