simplify elements of the language
more simplification of the classes
implement multiplication
add Multiplicative
lattices need equality, and simplify some signatures
and Multiplication too
more simplifications of the types
split off Language
and a further simplification
go with the PCF like language, as that is much easier (in Haskell) than modelling an imperative language.  Get back to the imperative language later