refactoring make-Function to make it easier to add
new field, and add prest to Function type to store
new proposed syntax <*
unified trans-dots and substitute-{dots, dotted}
function for Heterogeneous*
add parse/unparse support for funcion <* syntax