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