Affine Monads and Lazy Structures for Bayesian Programming