pub trait ActionExt: Action{
// Provided method
fn to_if<Cushion, F, TransF>(
self,
f: F,
transformer: TransF,
) -> impl Action<Context = Cushion>
where Self: Sized,
Cushion: Sync + Send,
F: Fn(&Cushion) -> bool + Send,
TransF: Fn(&Cushion) -> <Self as Action>::Context + Send { ... }
}