I disagree with this change of function signature, it doesn’t work as soon as you implement any other pseudo-element. Or do you want the function then to return a bigger data structure with all of them? I’ll need more convincing on why the complexity is better than having this call for each pseudo-element (or none).