How can we collect terms?



Dear list,

how can one collect terms of an expression wrt a variable?  I am using
the following

   (%i1) subst(y = m*x +b, (x-2)^2 + (y-3)^2 = 5), expand;
                2  2    2                            2
   (%o1)       m  x  + x  + 2 b m x - 6 m x - 4 x + b  - 6 b + 13 = 5
   (%i2) apply("+", makelist(coeff(%, x, n)*x^n, n, 0,2));
                  2       2                          2
   (%o2)        (m  + 1) x  + (2 b m - 6 m - 4) x + b  - 6 b + 13 = 5

but surely there must be an easier way! I just couldn't find it.

TIA,
Nikos