Propose a DSL for the pattern matching