Expat - composable, reusable pattern matching

Yes, in fact that was part of my original defguard proposal, by baking it into elixir that a guard can handle matching, binding, and guard tests then that opens a lot of capabilities.

I just got an idea, what about using ? for match and ! for creation as disambiguation (or just ! and no-prefix for matchers)?