1.4.3.1 Special method argument and result conversion

For certain types of argument, there is more than one useful conversion from the FLI value to a Lisp value. To control this, the argument specification can include an
arg-style
, which describes how the argument should be converted. If the
arg-style
is specified as
:foreign
then the argument is converted using normal FLI rules, but by default certain types are converted differently:

Likewise, result conversion can be controlled by the
result-style
specification. If this is :
foreign
then the value is assumed to be suitable for conversion to the
result-type
using the normal FLI rules, but if
result-style
is :
lisp
then additional conversions are performed for specific values of
result-type
: