When using memoizer({load: (..., callback) => {...}}), and the callback gets called with an error, the result is not cached.
When using memoizer.sync({load: async (...) => {...}}, and the promise gets rejected, the rejected promise is retained in the cache.
We would like it if the rejected promise was automatically removed from the cache. This would technically be a breaking change, so perhaps making it an option that defaults to false would be best?