# `import` is an abbreviation, not an inclusion

`import java.util.List;` copies nothing, reads nothing, and produces no bytes. It says: for the
rest of this file, `List` means `java.util.List`. Delete every import, write the full names
instead, and you get an identical program. So there are no include guards, no header ordering, and
no compilation order.

What finds a type is a path. `javac -d out *.java` writes one `.class` per class into `out/`,
mirroring package names as directories. `java -cp out Main` tells the launcher where those class
files are, then names the class holding `main`.

A package is a namespace and a directory layout, enforced together. This project uses the default
package deliberately. A class there is unreachable from any named package, so there is no import
to get wrong, and every drill compiles with one flat command.
