let mkwithtyp pwith_type loc id_tpl ct =
let (id, tpl) = type_parameters_and_type_name id_tpl [] in
let (params, variance) = List.split tpl in
let (kind, priv, ct) = opt_private_ctyp ct
in
(id,
(pwith_type
{
ptype_params = params;
ptype_cstrs = [];
ptype_kind = kind;
ptype_private = priv;
ptype_manifest = Some ct;
ptype_loc = mkloc loc;
ptype_variance = variance;
}))