Type.Intersection
type t('M, 'T) = {
types: (Type.t('M, 'T), Type.t('M, 'T), list(Type.t('M, 'T))),
comments: option(Syntax.t('M, unit)),
};