After working with \shape (which offsets 'control-points), I've been tinkering with the idea of generalizing offsets to LilyPond's defaults. (Urs Liska brought this up here:
http://www.mail-archive.com/address@hidden/msg71495.html.) I've attached a sketch of a function which attempts to do this, and I show it in operation in a number of situations. Several of these examples are of dubious value; however, I do think the ability to offset properties such as 'positions, 'X-offset, 'Y-offset is potentially useful. In these cases, you can alter positioning easily from what you see (as you might with 'extra-offset). The function will work with broken spanners as well.
You can only offset properties which are immutable (if I'm not mistaken, the ones listed in `define-grobs.scm') The function will work with numbers, number pairs, and lists of number pairs. If you attempt to offset something not covered--like 'color--nothing will happen.
I'm wondering what your thoughts are about this approach. Is the idea of offsetting defaults suitable for generalizing? It _appears_ to work, but are there pitfalls here?