Hm, ok, ich muss zugeben, ich verstehe nicht ganz, was die Funktion macht …
Ich habe eine funktionierende Lösung von Grund auf neu geschrieben. Was dir bei der Rekonstruktion helfen könnte: case oder if, filter, ein lambda-Ausdruck, und Abfragen auf (ly:music-property … 'name)
Oder nachfragen, dass ich den kompletten Code rausrücke, aber vielleicht hilft dir schon das hier fürs Verständnis

nurMusic =
#(define-music-function (parser location music) (ly:music? )
(music-map
(lambda (m)
; falls m vom Typ (bzw. music-property 'name) NoteEvent, RestEvent oder MultiMeasureRestMusic ist,
; entferne alle Artikulationen (leere die 'articulations-Liste)
; falls m vom Typ EventChord ist,
; entferne alle Artikulationen und
; filtere aus der Liste 'elements alle 'TextScriptEvents raus
)
music))