The RecordDotSyntax extension is just syntactic sugar for the HasField typeclass. It doesn't make HasField "outdated". Anyway, the HasField typeclass (with the proposed change to support field updates[1]) does have at least one law:
uncurry ($) (hasField @x r) == r
or expressed with the getField and setField wrappers: