By using this abstraction rather than accessing the properties directly,
we smooth the transition to https://github.com/endojs/endo/pull/1712,
tolerating both the legacy and current guard shapes.
Unlike LegacyAwaitArgGuardShape, tolerating LegacyInterfaceGuardShape
does not seem like a currently exploitable bug, because there is not
currently any context where either an interfaceGuard or a copyRecord would
both be meaningful.
By using this abstraction rather than accessing the properties directly, we smooth the transition to https://github.com/endojs/endo/pull/1712, tolerating both the legacy and current guard shapes.
Unlike LegacyAwaitArgGuardShape, tolerating LegacyInterfaceGuardShape does not seem like a currently exploitable bug, because there is not currently any context where either an interfaceGuard or a copyRecord would both be meaningful.