_Comment made by: seancorfield_
Good point! Backward compatibility could be maintained by checking if {{(map? base)}} -- and perhaps giving a deprecation warning? -- but users would have to be very careful that they would be manipulating the cache and core.memoize wraps raw values in {{IDeref}} instances so a simple
(memo-swap! f assoc [42] 99)
would not work -- it would need to be
(memo-swap! f assoc [42] (delay 99))
which would make this the only place in the API where that is really exposed.