The documentation is running ahead of the plan for Rascal. Rascal has a type system that can be statically checked, but the type checker is not integrated yet.
Currently the interpreter is checking types at run-time. Note that the error messages that it reports contain only "static types". The interpreter is doing both abstract interpretation and concrete interpretation (running) the code at the same time. This allowed us to rapidly evolve the language because the code for the interpretation and the type checking for each construct is woven closely together.
When we introduce the type checking stage, we hope to use the types and the resolved names to get some more speed out of the interpreter, and simplify the interpreter's code again, and of course get the errors to the programmer sooner.