+(define (music-function-call-error loc fun m)
+ (let* ((sig (ly:music-function-signature fun))
+ (pred (if (pair? (car sig)) (caar sig) (car sig))))
+ (ly:parser-error (*parser*)
+ (format #f (_ "~a function cannot return ~a")
+ (type-name pred)
+ (value->lily-string m (*parser*)))
+ loc)
+ (and (pair? (car sig)) (cdar sig))))
+