fn range_intersection<'a>( l: Range<Datum<'a>>, r: Range<Datum<'a>>, temp_storage: &'a RowArena, ) -> Result<Datum<'a>, EvalError>