+Units in The Racket Guide introduces units.
Units organize a program into separately compilable and reusable components. The imports and exports of a unit are grouped into a signature, which can include “static” information (such as macros) in addition to placeholders for run-time values. Units with suitably matching signatures can be linked together to form a larger unit, and a unit with no imports can be invoked to execute its body.