1. Tree equivalencies. Currently, /contend/ /content/ /resend/ /resent/
produces (?:conten[dt]|resend[dt]) but it is possible to produce
(?:cont|res)en[dt] if one can spot the common tail nodes (and walk back
the equivalent paths).

2. Investigate how (?>foo) works. Can it be applied?

3. Devel::Coverage testing to ensure all code paths are exercised. More
testing.

4. Factor out slide procedure.

5. How can a tracked pattern be serialised? (Add freeze and thaw methods).

6. Store callbacks per tracked pattern.

7. Deal with [:punct:] character classes

8. saw this foo(?:\.|-)bar but the test checks out ok
