In the following sections, the names of procedure arguments can
dictate that the arguments are of specific types.
If an argument name is also the name of a Scheme data
type, the argument must be an object of that type.
For example, a procedure with an argument named string must
be invoked with a string.
File descriptor arguments (named fdescr, or fdescr1,
fdescr2, etc.) and arguments named length are always
non-negative integers;
filename arguments (filename) are strings or symbols;
and arguments with the suffix ``?'' are booleans.