Changed the data types of the APIs in "Dao.Runtime" to make them more practical, I am still not completely certain that I have it right. I won't be certain until I have actually written interfaces for objects like 'Dao.Object.AST_Script' or even simpler things like arrays or hash maps.  Also, because of how 'Dao.Tree.Tree' instantiates the 'Dao.Binary.Binary' class, I had to change the byte prefixes for the constructors in 'Dao.Object.Object' in the instantiation of 'Dao.Binary.Binary' to make sure every constructor for 'Dao.Tree.Tree' and 'Dao.Object.Object' had a unique prefix, there had been some overlap.
Instantiated 'Dao.Object.Reference' and 'Dao.Object.RefExpr' into the 'Dao.String.UStrType' class, and the 'Prelude.Read' class.
With the APIs for foreign interfaces becoming more certain and better defined, I was able to finally write the algorithm for evaluating the semantic constructor 'Dao.Object.InitExpr'. I also went ahead and defined the semantics for 'Dao.Object.MetaEvalExpr'.
I am still re-writing the "Dao.Object.Binary" module so all of the data types in the "Dao.Object" module make use of the new APIs in "Dao.Binary". I believe I have now defined all of the data types necessary for testing to begin testing. However the 'Dao.Binary.encode' and 'Dao.Binary.decode' functions which should wrap the 'Data.Binary.encode' and 'Data.Binary.decode' functions have not been defined yet, and this will be tricky because the wrappers will require references to an 'Dao.Object.ExecUnit' with a reference to a table of 'Dao.Object.MethodTable's in order to properly function. I will do this later.