Phasing out the 'Dao.Object.Run' monad. It is ridiculously messy trying to constantly switch between 'Dao.Object.Run' and 'Dao.Object.Exec'. Everything that used to evaluate as a 'Dao.Object.Run' is now evaluated as a 'Dao.Object.Exec'.
made 'Dao.Object.FlowCtrl' polymorphic over the error and return value types so I can move this type out of the "Dao.Object" module and treat it as it's own type independent of the rest of the Dao program.
Moved 'Dao.Object.Procedural' and 'Dao.Object.FlowCtrl' to their own module, the "Dao.Procedural" module.
Made some tweaks to the "Dao.Procedural" API.
I have phased-out the "Dao.File" module and the "Dao.Resource" module, and renamed the 'Dao.Object.Executable' data type to the 'Dao.Object.CodeBlock' data type. I have created a new class called 'Dao.Object.Executable' and I will now instantiate several data types into this class.
I am starting to unify the evaluation semantics to a single function: the 'Dao.Object.execute' function in the 'Dao.Object.Executable' class.