Anonymous records feel like one of those features that are obviously useful once you work with JSON-heavy systems, but surprisingly uncommon in statically typed languages

An anonymous record type in a language whose type system is an enum LangType in Rust is just HashMap<String, Box<LangType>>

My pet project requires an STLC with anonymous record types and type inference for anonymous records wasn't too bad

Anonymous records aren't complex in principle. The main challenge Haskell has always faced in this area, is the simple fact that its type system (and syntax) weren't designed for anonymous records from the start, so they have to be shoehorned in without breaking existing semantics.

PureScript has much better support for row polymorphism for this reason.

[deleted]

The article missed Go’s anonymous structs:

    p := struct {
        Name string
        Age  int
    }{
        Name: "Alice",
        Age:  30,
    }