Then you would have a problem. This scheme limits you to only use 5
different heads.

To shorten this: LilyPond is a very good typsetter for classical music.
And it can deal with simple (no chords) drum staffs.

It can also deal with drum staves with chords - as long as you use the
scheme illustrated in input/test/drums.ly

In contrast to all other free musical typsetters it has
musical knowlegde.

Yes and that is why I don't like your idea of defining the drums purely
as "position, note-head-style". Later moving i.e. the bass drum to
another position would be very hard - the user is stuck with the drums
layout that the composer has selected, and producing sensible midi
output will be impossible because lilypond don't know which
positions/heads that corresponds to which midi-drums.

> I would say: A hack only because of

this case is no good idea. Perhaps if you'll later
think more about jazz/pop/... you should implement
a really sophisticated drum-chord-solution. And then I'll incorporate
this into LilyPond export. So long the user has to live with
some exportation restrictions.

I don't think that the drums solution will become more sophisticated
than the one currently available - the only difference will be that it
will be easier to use and that it will be possible to put drums and
notes on the same staff.