I think the author may be interested in looking at user defined/dynamic patterns/extensible matchers or whatever the name is, as seen in F# and Scala<p>Basically where you can define your own pattern rule as a simple method in a class, and later use it for destructuring and matching, e.g.<p><pre><code> var Http= new Regex(stuff with (protocol)(domain)(path))
var Http(protocol,domain,path) = "http://foo.com/bar" # variables protocol="http",domain="foo.com", path="/bar" assigned
</code></pre>
Which may be there in the language already, but I have not seen it mantioned