Did I reach the whole list? My question concerns this: > > Furthermore, it makes perfect sense to declare a new type isomorphic to > an existing function type. So whereas it is *not* ok to write > > data New a b = MkNew !(a->b) -- ! means strict > > (because of previous discussion about the difficulty with strictness in function > types), it does make perfect sense to say > > newtype New a b = MakeNew (a->b) > > In short, using a strictness "annotation" (not really an annotation anyway, > since it changes meaning) as a way to introduce a new isomorphic type doesn't > work for function types. > I don't remember seeing about the difficulty of strictness in functions. Could someone summarize that for me? Incidentally, isn't the only change in meaning that strictness introduces is convergence/lack of convergence? Alan Baljeu