I think expanding/rolling_cov() should support a ddof argument, the way expanding/rolling_std/var() do (though the latter is not documented; see #8064). So long as ddof defaults to 1, it will be backwards compatible, so I don't see any downsides. This is very easy/straightforward.