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