However ....
To answer the first question; 'yes' it can be done. And moreover it can be done without disturbing the proofs of soundness in TBoS. To achieve this we convert a Shen rule P1 ...Pn -> R into the pattern matching abstraction (/. P1 ... (/. Pn R) ...) and then we implement
the Patterns Rule. The rule is type checked just like a regular expression and as a plus we can add our pi rule and actually get Shen to attach this type to a function definition. The price is that we have to admit pattern matching abstractions as first class objects. We can call this approach T+.
But going back to Turner he failed to sell his fish by not providing a clear and motivating example for DP. So I still remain
from Missouri about this. But can it be done in Shen with small modification?