Seol mar théacs é seo: Automating inference, learning, and design using probabilistic programming