Which is unlike to what happens in Picat. In my experience demanding a rule to match is exactly what makes our => rules so good at improving reliability of code and the debugging experience. If the failure is not obvious I rerun the program after using
?- gtrap(_).
This often traps the debugger on the errornous goal. Go up a few frames, use retry and it is typically easy to find what is wrong.