> what would be a more consistent and expressive API, then? can you propose some dreamcode?

One doesn't have to dream much in order to come up with this. Here's the logic:

* As it can be 3 different strategies, it can't be a boolean.
* Thus, it has to be a string with the strategy name, which is already the case for one of them (`seen`).
* Thus, we can either use strings directly (`seen`, `all`, or `flush`) or an object with the strategy as an option key ({`strategy: 'flush'}`).

These two options are the only clean ways, except I'm missing something. No?