(def)matche can now add constraints in the pattern