When reviewing other patch I noticed there might be an oversight for MemoizePath in reparameterize_path. In reparameterize_path we are supposed to increase the path's parameterization to required_outer. However, AFAICS for MemoizePath we just re-create the same path thus its parameterization does not get increased.
I'm not sure if this has consequences in practice. Just from reading the codes, it seems this may cause assertion failure after the call of reparameterize_path. Assert(bms_equal(PATH_REQ_OUTER(path), required_outer)); Thanks Richard