The new idea I was experimenting with did not work. I have re-defined the semantics of the 'Dao.NewParser.Syntax' data type yet again to now make decisions on how to 'Control.Monad.mplus' units of syntax together based on the programmer-defined string ID of every syntax unit. The data type 'Dao.NewParser.SynID' has been introduced.