Zaslat SMS: Commutative semantics for probabilistic programming