A matcher is a pattern with an associated parse procedure that generates a result.
interface matcher[contravariant readonly value element type, covariant any value result type]
extends pattern[element type]
Parse the list and produce a result.
Assumes this pattern matches the list.
result type parse(readonly list[element type] the list)