pub trait Redactable {
fn redact(&self) -> String {
let mut buffer = String::new();
self.redact_into(&mut buffer)
.expect("writing to a String should never fail");
buffer
}
fn redact_into(&self, buffer: &mut dyn std::fmt::Write) -> std::fmt::Result;
}