= Goals =
These are some proposed goals and guidelines for the project:
* Don't worry about backward compatibility. We should ''learn'' from the mistakes of the past, not repeat them!
* Provide a fine-grained [wiki:Algebra algebra].
* Provide convenient facilities for type composition and generic folds/unfolds.
* Improve the IO monad? Maybe separate it into smaller parts or, if the necessary discoveries happen in time, use some sort of declarative IO system.
* Unambiguous semantics, when possible. When there is more than one possible instance of a type class for one data type, use newtype wrappers for all of those instances (no instance for the unwrapped version).