Function.Param
type t('M, 'T) = ('M, t'('M, 'T));
and t'('M, 'T) = {
name: option(Identifier.t('M, 'T)),
annot: Type.t('M, 'T),
optional: bool,
};