FirstComposition(firstClause: Clause<S, C, K>, vararg remainingClauses: Clause<S, C, K>)
Compose a number of clauses, such that the first match is run, and it errors if none is run.