What is Probabilistic Programming and why Pyro? Introduction Over the last few years I have generally been looking into a way of implementing Judea Pearl's do calculus and counterfactual reasoning in Python in a way that is