Trait Then
ifeq
pub trait Then<R, F> { fn then(&self, f: F) -> R where F: Fn() -> R; }
fn then(&self, f: F) -> R where F: Fn() -> R,
impl<R, F> Then<R, F> for bool