use super::Composer;
use crate::metis::{Dotted, Retired, Rhapsody};
impl Composer<Rhapsody> {
#[must_use]
pub fn condense(&mut self, retired: &Retired) -> usize {
let mut rhapsody = self.state.store().clone();
let excised = rhapsody.condense(retired);
let context = self.state.context().clone();
self.state = Dotted::try_new(rhapsody, context)
.expect("condense trims only the skeleton, so the context still covers the store");
excised
}
}