// /// Internal namespace. // pub( crate ) mod private // { // use crate::*; // use crate::abs::*; // use once_cell::sync::Lazy; // use std::sync::Mutex; // use dashmap::DashMap; // use std::sync::Arc; // // static mut REGISTRY = Registry< Context >::new(); // // pub fn current() -> ContextChanger // { // Registry< Context >::current( &mut REGISTRY ) // } // // pub fn obtain() -> ContextChanger // { // Registry< Context >::obtain( &mut REGISTRY ) // } // // } // // /// Protected namespace of the module. // pub mod protected // { // pub use super:: // { // orphan::*, // private::REGISTRY, // private::current, // private::obtain, // // private::Registry, // }; // } // // pub use protected::*; // // /// Parented namespace of the module. // pub mod orphan // { // pub use super:: // { // exposed::*, // // private:: Registry, // }; // } // // /// Exposed namespace of the module. // pub mod exposed // { // pub use super:: // { // prelude::*, // // private::current as context, // }; // } // // pub use exposed::*; // // /// Prelude to use essentials: `use my_module::prelude::*`. // pub mod prelude // { // pub use super::private:: // { // }; // }