Represent a match as a formula in propositional logic that encodes whether the match matches (abstractly: we only consider types)
Interface with user-defined match monad?
if there's a match in scope, we use this as the match strategy, assuming it conforms to MatchStrategy as defined below:
(matchApproximation: StringAdd).self
(matchApproximation: StringFormat).self
(matchApproximation: ArrowAssoc[MatchApproximation]).x
(Since version 2.10.0) Use leftOfArrow instead
(matchApproximation: Ensuring[MatchApproximation]).x
(Since version 2.10.0) Use resultOfEnsuring instead