. . . "Of course there is a solution to this problem, we can use condition (or guards) on pattern to put constraints on them." .