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