Function.Param
type t('M, 'T) = ('M, t'('M, 'T));
and t'('M, 'T) = {
argument: Pattern.t('M, 'T),
default: option(Expression.t('M, 'T)),
};