The premise of my earlier post was that if ppxlib incentivized clients to always use Ast_pattern instead of depending on Parsetree directly, then breaking changes would have been avoided. Sadly, this is not correct: I missed that ppxlib 0.36 also made breaking changes to Ast_builder: see pexp_functionin v0.35 and in v0.36. From the perspective of a non-maintainer, it seems like this breakage was more of a choice than a necessity - i.e., the function with the new signature could have received ...