Finished defining the API of the 'Dao.Object.DaoClassDef', which meant doing the following: 1.	encapsulating the 'Control.Monad.State.State' monad in a "newtype" 2.	modified or removed a few of the fields of the 'Dao.Object.ObjIfc' and 	'Dao.Object.ObjectInterface' data types when it became apparent that use of those fields would 	not make sense while also adding some fields that it looks like I will be needing, and modifying 	the 'objectInterfaceAdapter' to reflect those changes. 3.	writing the 'Dao.Object.defObjectInterface' which is the function you actually use to evaluate a 	'Dao.Object.DaoClassDef' into a 'Dao.Object.ObjectInterface' to instantiate the 	'Dao.Object.Object.Class'. 4.	Commented every 'Dao.Object.DaoClassDef' API function as best I could, making sure to describe 	which Dao programming language constructs would, when evaluated, evaluate the given callbacks.
Finished defining the API of the 'Dao.Object.DaoClassDef', which meant doing the following:
1.	encapsulating the 'Control.Monad.State.State' monad in a "newtype"
2.	modified or removed a few of the fields of the 'Dao.Object.ObjIfc' and
	'Dao.Object.ObjectInterface' data types when it became apparent that use of those fields would
	not make sense while also adding some fields that it looks like I will be needing, and modifying
	the 'objectInterfaceAdapter' to reflect those changes.
3.	writing the 'Dao.Object.defObjectInterface' which is the function you actually use to evaluate a
	'Dao.Object.DaoClassDef' into a 'Dao.Object.ObjectInterface' to instantiate the
	'Dao.Object.Object.Class'.
4.	Commented every 'Dao.Object.DaoClassDef' API function as best I could, making sure to describe
	which Dao programming language constructs would, when evaluated, evaluate the given callbacks.

printedheart/Dao