[Haskell-cafe] How to state semantics in denotational design?