For example, if we want to use structure fields or some [function](https://stackoverflow.com/questions/35536030/is-there-any-way-to-use-private-functions-in-public-macros-in-rust) inside a macro but don't want them to be part of the API, we mark them as hidden. ```rust pub struct Struct { /// This is an implementation detail and **should not** be used directly! #[doc(hidden)] pub __field: u8, } ``` I think it would be useful to specify a naming convention for these cases. Relevant links: [What does it signify to precede a variable name with two underscores? __var](https://www.reddit.com/r/rust/comments/89u8g7/what_does_it_signify_to_precede_a_variable_name/) [Down a Rusty Rabbit Hole](https://manishearth.github.io/blog/2018/04/12/down-a-rusty-rabbit-hole/)