Hey 
Is there a way to stack / cat torch.distributions?
Example:
import torch
from torch.distributions import Normal

mean1= torch.zeros((5), dtype=torch.float)
std1 = torch.ones((5), dtype=torch.float)
d1 = Normal(mean1, std1)

mean2= torch.ones((5), dtype=torch.float) * 10
std2 = torch.ones((5), dtype=torch.float) * 10
d2 = Normal(mean2, std2)

mean_result = torch.stack([mean1, mean2])
std_result = torch.stack([std1, std2])
d_result = Normal(mean_result, std_result)

Is there a way to get d_result from d1 and d2 without using/stacking the parameters (in this case mean/std)? I am looking for a way that is agnostic to the type of distributions!