On Thu, Oct 27, 2011 at 10:33 AM, Milan Straka <fox@ucw.cz> wrote:
BTW, 1. does not fully specify the behaviour -- for example, does
 insertWith' f k v map
forces the result of (f old new) when the key is already present?
Possibility 2. says 'yes', possibility 1. does not say anything.
Maybe the 1. should be "the structure is strict in the value field
and also all the functions are strict in the value argument".

Yes. Option 1 would both talk about any value passed to a function and to any value stored in the map. Option 1 is really as if Haskell was a strict language.

-- Johan