[1] Although the result of specific event handlers defined for strings is not rescanned, the handler for `\*' that is supplied by unroff to implement user-defined strings does rescan the contents of a string when it is expanded.
[2] While #f indicates ``standard output'' when assigned to the current output stream, it is an error to call an input primitive after #f has been assigned to the current input stream. This may be considered a mis-feature; the current input and output streams should be treated similarly with respect to standard input and standard output.
[3] stream->string is a misnomer, because the argument of the primitive is not a stream, nor does the primitive actually convert a stream to a string as suggested by the `->' sign.
[4] The primitive error-port should actually be provided by Elk proper to avoid having to reinvent it for each extensible application.
[5] The primitive parse-triple should probably return a proper list rather than an improper list.