let convert_funcarg_type t = 
  match t.ct_ty with
    Tarray(et,sz) -> make_c_type (Tpointer(et))
  | Tfunction(_) -> make_c_type (Tpointer(t))
  | Tvoid -> failwith "void type not allowed in parameter"
  | _ -> t