pub fn transition<S: Clone, T: Clone>( dir: Direction<S, T>, f: &dyn Fn(S) -> T) -> Direction<S, T>
22 23 24 25
pub fn shift(mut self, f: &dyn Fn(S) -> T) -> Self { self = transition(self.clone(), f); self }