Added some more unification tests for inner constants.
Pushing interner down into the instruction optimizer, so functors can be de-interned there to examine their properties for optimzations.
Improved debug logging for allocate.
Adding some unification tests with constants, designed to toggle read and write modes.
Added in the increment sp on unify_const from the WAM book errata.
Added a test case designed to oscillate between read and write mode.
Got the optimizer correct for constants, still some problems with nonArg terms being reported incorrectly.
Extracted position context as a seperate interface from PositionalTermTraverser, in preparation for allowing the parent context to also be examined.
Corrected top-level detection for nonArg position terms. Constant optimizations are now working and all tests passing.
Cleaned up comments.
Added the execute instruction.
Pulled call instruction out of compileBody, this will make it easier to implement tail call optimization.
Got tail call optimization working.