Retaining define-markup-command-internal in order to allow defining markups in LilyPond syntax in a manner that stops being supported from Scheme seems like incoherent design.
markup-lambdas can be created from within LilyPond using \markup ... \etc . Having them unusable from Scheme for the purpose of defining a markup function seems inappropriate. If unsupporting the functionality via define-markup-command is desirable (which I am not convinced of) or independently, it would seem that a more regular/prominent module-define-markup-command! with appropriate semantics would be warranted (and used from the parser) instead of retaining define-markup-command-internal as a non-internal of define-markup-command. https://codereview.appspot.com/577720043/