Adding SyncExtract

I think this needs a better error message, if we ever run into this we are not going to know context at all, we should also maybe seriously consider crashIO that is for invariants vs user errors, where crashIO adds an exception with a stack trace.