I recently had a script with some t_QFR objects and wanted to take their discriminants. At the time I just did [a,b,c]=Vec(q); b^2-4*a*c but now I see that the inaptly-named poldisc() handles them. I wonder if it would make sense to allow q.disc directly?
As it stands poldisc() handles not only polynomials but most other types, while the member function .disc already handles t_QUAD and other non-vector types.
If this change is advisable*, here is the (brief) change to language/members.c:
member_disc(GEN x) /* discriminant */
{
  long t; GEN y = get_nf(x,&t);
  if (y) return nf_get_disc(y);
  switch(t)
  {
    case typ_Q  : return quad_disc(x);
    case typ_ELL: return ell_get_disc(x);
    default     : return poldisc0(x);
  }
}