/// [`skip_operator`](super::comprehension::Comprehension::skip_operator) so that a symbolic guard
/// element (the "safe value to substitute for a guarded-out element" depends on the element's own
/// `expand_native.rs`'s guard on the identity-dropping optimisation for the only current example).
pub fn make_skip_operation(&self, guard_expr: Expression, tail_expr: Expression) -> Expression {
matrix_expr![Expression::Atomic(Metadata::new(),1.into()),tail_expr;Domain::int(vec![Range::Bounded(0,1)])],
/// safe to substitute for a guarded-out element -- callers must supply one themselves (`skip_value`),
matrix_expr![Expression::Atomic(Metadata::new(), skip_value.into()), tail_expr; Domain::int(vec![Range::Bounded(0, 1)])],