Adding SyncExtract

Note the main reason for the suggestion is that the case above with `help` is not ok. And we should either do the `Temporary` type class thing or add a `withShadowOutputDataset`.

If we do add the type class it should go in mundane and wind all the way up.