Object.Propertytype ('M, 'T) t = 'M * ('M, 'T) t'and ('M, 'T) t' = {key : ('M, 'T) Expression.Object.Property.key;value : ('M, 'T) value;optional : bool;static : bool;proto : bool;_method : bool;variance : 'M Variance.t option;comments : ('M, unit) Syntax.t option;}and ('M, 'T) value = | Init of ('M, 'T) Type.t| Get of 'M * ('M, 'T) Function.t| Set of 'M * ('M, 'T) Function.t