About "Please recommend additional papers, blog posts, and implementations."
Using the issues as a comment form for https://bernsteinbear.com/blog/row-poly/ .
I think I've implemented something similar in Yeti. I also documented the algorithm that I wrote (I learned that it is basically a form of row polymorphism after implementing it).
https://dot.planet.ee/yeti/reference.html#structure-and-variant-types https://dot.planet.ee/yeti/reference.html#finding-free-type-variables
The "Restricting the free type variables" part is important there for the algorithm to work with mutable record fields.
The implementation itself in Java is a bit hard to follow, but I can give links to it nevertheless.
https://github.com/mth/yeti/blob/master/c/YetiType.java#L535 https://github.com/mth/yeti/blob/master/c/YetiType.java#L999
Sorry, I will get to this at some point