``` rust struct Priv; pub use self::private::public; mod private { pub type Priv = super::Priv; pub fn public(_x: Priv) { } } ``` The function `public` is exported, accepting the type `Priv`, even though `Priv` is not exported.