Expression.Membertype property('M, 'T) = | PropertyIdentifier(Identifier.t('M, 'T))| PropertyPrivateName(PrivateName.t('M))| PropertyExpression(Expression.t('M, 'T));and t('M, 'T) = {_object: Expression.t('M, 'T),property: property('M, 'T),comments: option(Syntax.t('M, unit)),};