I see, indeed you’re only supposed to register an extension once per context. In your case, the rule to rewrite Pstr_eval and Pstr_value is the same (same name, same context: structure_item) and needs to be registered once and deal with both cases on its own. Depending on what you want to do with those you might be able to write a Ast*_pattern that works for both but I would not necessarily advise it. Ast_pattern has two main advantages: It will report errors for you if the extension payloa...