similar to what primitive-fork in guile: 1. scm_i_finalizer_pre_fork () == scm_set_automatic_finalization_enabled (0) 2. stop_signal_delivery_thread () 3. disable-gc 4. assert length (threads) == 1 5. run exp 6. enable-gc 7. scm_set_automatic_finalization_enabled (1) 8. scm_i_signals_post_fork () or scm_i_ensure_signal_delivery_thread Problem: none of the calls in 5 are part of the API (SCM_INTERNAL)