Expression.Object
module Property: { ... };
module SpreadProperty: { ... };
type property('M, 'T) =
| Property(Property.t('M, 'T))
| SpreadProperty(SpreadProperty.t('M, 'T))
;
and t('M, 'T) = {
properties: list(property('M, 'T)),
comments: option(Syntax.t('M, list(Comment.t('M)))),
};