use variadic template to avoid having to write out the list of SyncToWorker arguments twice in sync_to