This directory is split into four logical units that comprise the hlt.language.design.* packages:
Some kernel classes import the types and instructions packages, and so do some of the backend's runtime; some classes in instructions import types; the classes in types involved in type-checking import the kernel package.
The inter-package import diagram is:
--------------<---------------
/ \
kernel --<--->-- types --<-->--instructions -->-- backend
\ /
------------->-----------------
where an arrow -->-- means "import".