Investigate using `ScopedValues` for global variables, such as `using_auto_fermion()`, `get_warn_order()`, `using_threaded_blocksparse()`, etc. See https://docs.julialang.org/en/v1/base/scopedvalues, https://github.com/vchuravy/ScopedValues.jl.