Fix up the instance-declaration re-engineering story
This patch deals with a rather complicated situation involving overlapping instances. It's all explained in the commments Note [Subtle interaction of recursion and overlap] The absence of this case make DoCon and regex-base fail with an error about overlapping instances. Now they work properly again.
Showing with 149 additions and 50 deletions