Sure. Let's say we have 3 features and we want degrees 0, 1, 2. In each call to `__power_matrix` we generate `combs = list(itertools.combinations(range(n_features + degree - 1), n_features - 1))`.

I.e. we generate:
```
degree=0   [(0, 1)]
degree=1   [(0, 1), (0, 2), (1, 2)]
degree=2   [(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)]
```
Note that as we increase `degree` we generate strict supersets, adding elements containing `2` then `3`. So if we just call `itertools.combinations` once, we can filter these for the smaller degrees.

Is that clearer?