slightly clearer concurrency contracts

still kind of a mess, but that's muxy I guess