pub trait InferenceRule<Split: SplitStrategy>: CheckerRule {
// Required methods
fn applicable(&self, term: &Term) -> bool;
fn infer<'t>(
&self,
checker: CheckRef<'t, '_, Split>,
term: &'t Term,
) -> Option<Term>;
}