I had to work with some series expansions lately, and at some point I realised that something was becoming inconsistent at some point. It seems that applying `Factor` broke my series expansions. Here's a minimal example extracted from my computations.

Consider the following expression

    test =   Sqrt[1/(1 - x)] (Sqrt[1/(1 - x)] + 1) + 1;

Now look at those series expansions of `test` around `x=1`:

    ser1 = Series[test // Factor, {x, 1, -1}]
    ser2 = Series[test, {x, 1, -1}]

Not only are `ser1` and `ser2` different, but what's worse is that

    ser2 - ser1

gives `1/(x-1) + O(x-1)^0`. At this point I would have expected `O(x-1)^0`, how come `Factor` can break a series expansion so much? Is this sort of behaviour a feature or a bug?

---

The problem seems to be in `ser2`, if one looks at `List@@ser2` one realises that `ser2` is saved as `a0+O(x-1)^2` with `a0` containing `x`, this seems to be the root of all evil.

Interestingly, if one alters `test` to

    test =   1/Sqrt[(1 - x)] (1/Sqrt[(1 - x)] + 1) + 1;

which is really not much of a change, one obtains a different result. Given this instability, I don't know how I should trust the series expansions at all.