Call `why_not_applied(rule, graph, node: Optional[Node])` and it will print out the reasons why a pattern was not applied. cc @gramalingam