The maximal number of arguments that may be passed to a compiled procedure or macro is limited to 120 (1000 on some common hardware platforms like x86). Likewise, the maximum number of values that can be passed to continuations captured using call-with-current-continuation is 120. This is an implementation restriction that is unlikely to be lifted.

The runtime system uses the numerical string-conversion routines of the underlying C library and so does only understand standard (C-library) syntax for floating-point constants. Consequently, the procedures string->number, read, write, and display do not obey read/write invariance to inexact numbers.

equal? compares all structured data with the exception of procedures recursively, while R5RS specifies that eqv? is used for data other than pairs, strings and vectors. However, R5RS does not dictate the treatment of data types that are not specified by R5RS

There is no built-in support for exact rationals, complex numbers or extended-precision integers (bignums). The routines complex?, real? and rational? are identical to the standard procedure number?. The procedures make-rectangular and make-polar are not implemented. Fixnums are limited to 2^30 (or 2^62 on 64-bit hardware). To get support for the full numeric tower, use the numbers egg.