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