Type.TypeParam
type t('M, 'T) = ('M, t'('M, 'T));
and t'('M, 'T) = {
name: Identifier.t('M, 'M),
bound: annotation_or_hint('M, 'T),
variance: option(Variance.t('M)),
default: option(t('M, 'T)),
};