Title: Preserving abstraction in concurrent programming