10.13.2 Writing a pure function
Pure functions take, at a minimum, three arguments: the grob, the
starting column at which the function is being evaluated (hereafter
referred to as start), and the end column at which the grob is
being evaluated (hereafter referred to as end). For items,
start and end must be provided (meaning they are not optional)
but will not have a meaningful impact on the result, as items only occupy
one column and will thus yield a value or not (if they are not in the range
from start to end). For spanners however, start and
end are important, as we may can get a better pure estimation of a
slice of the spanner than considering it on the whole. This is useful
during line breaking, for example, when we want to estimate the Y-extent
of a spanner broken at given starting and ending columns.