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:
(scalaLogic: StringAdd).self
(scalaLogic: StringFormat).self
(scalaLogic: ArrowAssoc[ScalaLogic]).x
(Since version 2.10.0) Use leftOfArrow
instead
(scalaLogic: Ensuring[ScalaLogic]).x
(Since version 2.10.0) Use resultOfEnsuring
instead