You win! What are some other options now for keys: indexed array, without keys; user defined key, class name as key, but each entry can be it's own DisjunctexclusionStrategy;. All have the "problem" that it becomes harder to remove a strategy, because you cannot rely on the key always being the same. It's also easier to accidentially add a duplicate strategy. But I am not sure how often people actually change their strategies on a serializer instance. Instead of updating the instance, it's better to get another instance.