Rust note
Visibility levels
fn x() // private to current module and children
pub fn x() // public everywhere
pub(crate) fn x() // public anywhere in this crate
pub(super) fn x() // public to the parent module
pub(in path) fn x() // public only within a specific module path