Agreed, it should be 1 or more clauses.
The three compositions AllComposition, FirstComposition and AnyComposition are loosely based on logical connectives.
AllComposition corresponds to conjunction (A and B) or universal quantification (all of [A,B,C…])
AnyComposition corresponds to simple disjunction (A or B) or existential quantification (at least one of [A,B,C…])
FirstComposition corresponds to exclusive disjunction (either A or B but not both) or uniqueness quantification (precisely one of [A,B,C…]
The current code doesn’t encode these correctly (AnyComposition accepts 0 matching subclauses and FirstComposition sequences). We are aware of this issue, the current clause code is still in flux.