In the C code we use Javadoc style documentation for describing
the functions and data structures wherever possible.

When defining functions, we try to follow the convention that the
pointer arguments are always declared const when their contents are
not changed inside the call. When using SEXPs this requires we use
const SEXPREC* instead of const SEXP because of the way const of a
typedef behaves.

Because R does not follow this convention we have to cast the
const SEXPREC* objects to SEXP before calling accessors like LENGTH,
INTEGER etc.
