@asmeurer : i was passing G as a list of polynomials and not as list of tuple. So i was needed to covert it into tuple so as to pass to other functions such as param_special_denom, param_normal_denom etc 

But i guess if this makes the code difficult, i would pass the tuple itself and would convert the G(tuple) -> G(Expr) just before bound_degree < G needs to be as fa/fd for this method and not (fa, fd) >