Can Mathematica automatically calculate and sum over residues at all poles of a (rational) function?

The control system functionality of Mathematica can be used to find the poles of a rational function. Using Daniel's example in the comments:

f = (z^2 + 3*z - 7)/((z - a)*(z^2 - b^2));
poles = TransferFunctionPoles[TransferFunctionModel[{{f}}, z]][[1, 1]];
Sum[Residue[f, {z, res}], {res, poles}]
   (-7 + 3 a + a^2)/(a^2 - b^2) + (7 - 3 b - b^2)/(2 (a - b) b) +
   (-7 - 3 b + b^2)/(2 b (a + b))

Replace Sum[] with Table[] if you want the list of residues instead.