virtual void write(serializer & s) const { s.write_string(*g_prenum_opcode); s << m_value; }
virtual void write(serializer & s) const { s.write_string(get_let_opcode()); s << m_var_name; }
virtual void write(serializer & s) const { s.write_string(*g_projection_opcode); s << m_I_name << m_constructor_name << m_proj_name << m_idx << m_ps << m_type << m_val; }
virtual void write(serializer & s) const { s.write_string(*g_resolve_opcode); }
virtual void write(serializer & s) const override { // we should be able to write choice expressions because of notation declarations s.write_string(*g_choice_opcode); }
virtual void write(serializer & s) const { s.write_string(get_typed_expr_opcode()); }