I certainly don't mean to knock nominal types. But I think structural types are more fundamental. A language would only need a single "newtype" or "nominal" keyword to create nominal types from structural types.
C#'s anonymous type shares some flexibility of structural type system even though it still a nominal type.
> A language would only need a single "newtype" or "nominal" keyword to create nominal types from structural types.
I think you also can add `structural` keyword & apply structural type system in generally nominal type system as well if we're talking about adding feature.
Why structural is more fundamental?
C#'s anonymous type shares some flexibility of structural type system even though it still a nominal type.
I think you also can add `structural` keyword & apply structural type system in generally nominal type system as well if we're talking about adding feature.