pub(crate) fn run_in_thread_with_globals<F: FnOnce() -> R + Send, R: Send>(
    edition: Edition,
    f: F
) -> R