About return values: * SRFI authors don't annotate return values consistently. Often they are left out of the signature, and only discussed in prose in the description. * So if the tool extracts a return value from the signature, we can assume that it's correct. But if it doesn't extract any return value, we can't assume anything about what the procedure returns. * Some procedures return multiple values as a list. At least SRFI 1 has many of these and they are marked up with square brackets like [a b]. The tool currently treats this as two values instead of one list. This can be changed; the right approach is up for debate. The current approach gives output like this: ;; span pred clist -> [list clist] (procedure span (arg pred) (arg clist) (return list) (return clist))