Type.Object
module Property: { ... };
module SpreadProperty: { ... };
module Indexer: { ... };
module MappedType: { ... };
module CallProperty: { ... };
module InternalSlot: { ... };
and property('M, 'T) =
| Property(Property.t('M, 'T))
| SpreadProperty(SpreadProperty.t('M, 'T))
| Indexer(Indexer.t('M, 'T))
| CallProperty(CallProperty.t('M, 'T))
| InternalSlot(InternalSlot.t('M, 'T))
| MappedType(MappedType.t('M, 'T))
;