pub trait Decrypter {
// Required method
fn encapsulation_private_key(&self) -> EncapsulationPrivateKey;
// Provided method
fn decapsulate_shared_secret(
&self,
ciphertext: &EncapsulationCiphertext,
) -> Result<SymmetricKey> { ... }
}