Add the function prototype type, with parsing support and some tests
Rename pattern_kind to symbolic_kind
Add the typevar type
Add typevar_dim type for dimension type variables