A t represents the various ways to find the specifications of the rules:
In_root_dir means to look for jenga.conf or jengaroot.ml in the root
directory (as specified in path.ml), and load it. jengaroot.ml is compiled
directly, and is expected to have the interface described in
jenga_root_interface.ml. jenga.conf is expected to contain an s-expression
like "(modules (file1.ml file2.ml))", and then the given ml-files are loaded
in that order and the last one is expected to have the same interface as the
jengaroot.ml.Path is like In_root_dir, but the ml files are looked up in the given directory
rather than at the rootEnv allows to give a value directly, and so it can be used to link the
rules statically into jenga, as opposed to dynamically in the previous
two cases.