80-col violations.
Make maybeRegister a separate function.
Whitespace.
Better warnings/errors.