You are missing the difference between
ly:side-position-interface::y-aligned-side and
side-position-interface::y-aligned-side .
The latter is defined in scm/output-lib.scm as
(define-public side-position-interface::y-aligned-side
(ly:make-unpure-pure-container
ly:side-position-interface::y-aligned-side
ly:side-position-interface::pure-y-aligned-side))
So am I missing something or are the docs off for Script.Y-offset?
The docs are autogenerated and cannot be off with regard to listed
default values.
Is a call to "(ly:side-position-interface::y-aligned-side grob)"
actually the default call to use?
You are better off with
(ly:pure-call side-position-interface::y-aligned-side grob start end)
or
(ly:unpure-call side-position-interface::y-aligned-side grob)
depending on what you need.
Or of course calling ly:side-position-interface::y-aligned-side and
ly:side-position-interface::pure-y-aligned-side directly.