LOG, LOG_ERR. LOG_ERR will always compile to a /stderr/ print. LOG,
on the other hand, may not actually do anything if VERBOSE_LOGS is
not 1. By default it is 0, so it must be defined when compiling to
enable - hence the adjustment of the Makefile.
Primitive is a bit of a word conflict here; primitives are what we'd
expect our callables to be named eventually. However, these parser
"primitives" are just well known symbols that we want to optimise the
representation of for later stages. Thus, KNOWN is a bit better for
signalling intent then PRIMITIVE is.
Main reason is so we don't have that stupid arl prefix directory in
our source code. Now our source code is flat, and we can still
reference headers by linking from root.