Now that we have weight-level control of whether scoring is needed or not, we could add a new clause type to BooleanQuery. It would behave like MUST exept that it would not participate in scoring.
Why do we need it given that we already have FilteredQuery? The idea is that by having a single query that performs conjunctions, we could potentially take better decisions. It's not ready to replace FilteredQuery yet as FilteredQuery has handling of random-access filters that BooleanQuery doesn't, but it's a first step towards that direction and eventually FilteredQuery would just rewrite to a BooleanQuery.
I've been calling this new clause type FILTER so far, but feel free to propose a better name.