I need to take a subset of a distribution object, then

compare the subset with another subset of another distribution object.

Because the distribution object is not subcriptable (so we can not index directly the distribution object),

my approach so far is to index the member variable, eg probs,

then reconstruct the distribution object later.

Is there any better way for such use-case?

And why is the distribution object made not subscriptable?

```
m = torch.distributions.Categorical(probs=torch.rand(5,3))
subset = m.probs[0:2] # Okay
subset = m[0:2] # what I mean with directly indexing the object, but: TypeError: 'Categorical' object is not subscriptable
```