let match_parameter_type function_type parameter_list =
match function_type with
Tfunction( type_list, _, _ ) ->
let rec continue = function
[], [] -> []
| _, [] -> assert false
| [], _ -> assert false
| t1::l1, s2::l2 -> ( s2, t1 )::continue (l1, l2)
in
continue (type_list, parameter_list)
| _ -> assert false