pub static [<__ $ruleType:snake:upper _REPRESENTATION_RULE>]: $crate::representation::RepresentationRule = $crate::representation::RepresentationRule {
fn [<__create_representation_ $ruleType:snake>] (name: &$crate::ast::Name, symtab: &$crate::ast::SymbolTable) -> Option<Box<dyn Representation>> {
// This alongside Representation::box_clone() allows Representation to be a trait-object but still
/// Encodes the two-way relationship between a non-atomic variable and multiple auxiliary variables.
/// For example, a 2x2 matrix X might be represented by a variable for each element X1_1 X1_2 X2_1 X2_2.
/// The [`Representation`] for X then allows us to set the value of the matrix, and takes care of
/// assigning the individual variables accordingly. Conversly, we can set the values of the elements, and