1pub use derive_refineable::Refineable;
2
3pub trait Refineable {
4 type Refinement: Default;
5
6 fn refine(&mut self, refinement: &Self::Refinement);
7 fn refined(mut self, refinement: &Self::Refinement) -> Self
8 where
9 Self: Sized,
10 {
11 self.refine(refinement);
12 self
13 }
14}