The README file was a bit out of data considering the changes that have been made the past few months. I have updated it.
Renamed names of the form "runtime read" to "to struct", and "runtime write" to "from struct":
RuntimeReadable has become ToDaoStructClass
runtimeRead has become dataToStruct
RuntimeWritable has become FromDaoStructClass
runtimeWrite has become dataFromStruct
Modified the 'FromDaoStruct' API a bit to do better error reporting, but more importantly, made it stateful. Actually, the monadic interface is still a 'Control.Monad.Reader.Class.MonadReader' so programmers using this API will not be able to update the state. However inside of the 'FromDaoStruct' newtype container is a 'Control.Monad.State.State' monad. What is different now is that the 'field' and 'tryField' functions delete the field from the 'Dao.Object.State' object if they exist, and the 'checkEmpty' API has been created. This lets programmers using this API to check if every field was used using 'checkEmpty'.