pub trait Embedder: Send + Sync {
// Required methods
fn embed(&self, texts: &[&str]) -> Result<Vec<Embedding>, EmbedError>;
fn dimension(&self) -> usize;
// Provided method
fn embed_one(&self, text: &str) -> Result<Embedding, EmbedError> { ... }
}