gpc_partial_eval can now deal with multiple variables and heterogeneous GPC spaces