pub trait ToSql {
// Required method
fn write_sql_unchecked(&self, sql: &mut String);
// Provided methods
fn write_sql(&self, sql: &mut String)
where Self: CheckedSql { ... }
fn to_sql_unchecked(&self) -> String { ... }
fn to_sql(&self) -> String
where Self: CheckedSql { ... }
}