Its a common footgun that secrets get leaked in log messages when types containing private secrets implement Debug, whose implementation actually prints the secret.
bip39 should instead do something like:
impl fmt::Debug for Mnemonic {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.debug_struct("Mnemonic")
.field("lang", &self.0.language())
.finish_non_exhaustive()
}
}