Started refactoring using Read-Write-State Monad.  Also enabling evaluation during parsing in order to reduce memory footprint.
Gradually re-enabling features.
Further re-enabling features.
All features are back.  Time to merge with the master branch.
Removed shadowing ov variables.
Bugfix:  reversing the read equations got lost during refactoring.
Added documentation.  Moved default configuration from main program to Types.hs.