If you’ve been following me recently, you know where this is going: no matter what you do, even if you know the record structure of a parent type, you can’t access the record structure of an opaque subtype in order to, say, make a copy of the record. So record opacity shuts out the ability for users to implement, for example, functional field updaters themselves – no matter how useful it is in the cases where opacity actually helps.