pub fn clause<'a, FT, T>( term: FT, ) -> impl FnMut(Span<'a>) -> IResult<Span<'a>, Clause<T>>where FT: FnMut(Span<'_>) -> IResult<Span<'_>, T> + Clone + 'a,