I want to define a Lilypond function that will interpolate two notes. The function should take as inputs: the first note, the last note, the step (in semitones), and whether flats or sharps should be used.

For example:

```
\sequence a g 1 sharp

```

should create the chromatic scale:

```
a ais b c cis d dis e f fis g

```

Similarly,

```
\sequence f a -2 flat

```

should create the sequence descending by whole tones:

```
f ees des b a

```

Any ideas?