+ return used_b_;
+}
+
+void
+Score_element::do_print () const
+{
+}
+
+void
+Score_element::do_substitute_arrays ()
+{
+}
+
+
+Score_element*
+Score_element::find_broken_piece (Line_of_score*) const
+{
+ return 0;
+}
+
+SCM
+Score_element::mark_smob (SCM ses)
+{
+ void * mp = (void*) SCM_CDR(ses);
+ Score_element * s = (Score_element*) mp;
+
+ assert (s->self_scm_ == ses);
+ return s->element_property_alist_;
+}
+
+
+int
+Score_element::print_smob (SCM s, SCM port, scm_print_state *)
+{
+ Score_element *sc = (Score_element *) SCM_CDR (s);
+
+ scm_puts ("#<Score_element ", port);
+ scm_puts ((char *)sc->name (), port);
+ scm_puts (" >", port);
+ return 1;
+}
+
+void
+Score_element::do_smobify_self ()
+{
+ scm_unprotect_object (element_property_alist_); // ugh
+}
+#include "ly-smobs.icc"
+IMPLEMENT_SMOBS(Score_element);
+
+SCM
+Score_element::equal_p (SCM a, SCM b)
+{
+ return SCM_CDR(a) == SCM_CDR(b) ? SCM_BOOL_T : SCM_BOOL_F;