pub fn term(i: Span<'_>) -> IResult<Span<'_>, IRTerm>