67-pattern COMPLETE pragma overwhelms the pattern match checker
I have a data type
Expr with 67 constructors representing an AST, and a function that checks whether the AST is in normal form. If I add a simple pattern synonym for one of the constructors, and the necessary
COMPLETE pragma, the pattern match checker gives up with
Pattern match checker exceeded (2000000) iterations while checking the function. Increasing the iterations to
-fmax-pmcheck-iterations=100000000 doesn't help.
I don't really understand how the pattern match checker works, but I wonder whether it could do better here? Maybe !963 (closed) would improve the situation?