Object.Propertytype key('M, 'T) = | StringLiteral(('M, StringLiteral.t('M)))| NumberLiteral(('M, NumberLiteral.t('M)))| BigIntLiteral(('M, BigIntLiteral.t('M)))| Identifier(Identifier.t('M, 'T))| Computed(ComputedKey.t('M, 'T));and t('M, 'T) = ('M, t'('M, 'T));and t'('M, 'T) = {key: key('M, 'T),pattern: Pattern.t('M, 'T),default: option(Expression.t('M, 'T)),shorthand: bool,};