Sat Feb 27 09:55:57 CET 2010
Getting rid of datatypes. From the tagless interpreter subject it was
already clear that often data constructors of sum types can be
replaced by class instances. However, then you loose pattern
matching; which in the case of the tagless interpreter is exactly the
point: no more run-time interpretation.
Apparently it is also possible to fake pattern matching. See
AwesomePrelude. I assume it is quite related to the tagless
approach by moving more information into the type signatures.