1 2 3 4 5 6 7
pub trait Refine<T>: Sized { type RefineError; fn refine(rep: T) -> Result<T, Self::RefineError> { Ok(rep) } }