## Footnotes

1. In the Common Music implementation of SAL, `=` compiles to the Lisp `=` function, so this is an incompatible difference.

2. In the Common Music implementation of SAL, `~=` compiles to the Lisp `equal` function, so this is an incompatible difference.

3. Most behaviors will stop at time 1, warped according to `*warp*` to some real time, but this is by convention and is not a direct specification.

4. Since XLISP does not support multiple value returns, multiple value returns are simulated by having the function assign additional return values in a list to the global variable `*rslt*`. Since this is a global, it should be inspected or copied immediately after the function return to insure that return values are not overwritten by another function.

5. To be consistent, a blank line ought to specify zero attributes and generate a note that inherits all of its attributes from the previous one. Adagio is intentionally inconsistent in this respect.

6. My TX816 Owner's Manual gives an incorrect format for the change parameter sysex command (according to the manual, there is no data in the message!) I am assuming that the data should be the last byte before the EOX and that there is no byte count. If you are reading this, assume that I have not tested this guess, nor have I tested this example.