Looping through random variables

In your model you have a latent discrete variable, which is why sampling needs a BinaryGibbsMetropolis. In general, discrete latent variable are very difficult to inference, the general recommendation is that to treat it as a mixture model problem and rewrite it into a marginalized mixture model.

I think this post is the closest to your problem that you can start with:

See also:

It provides a way to marginalizing the latent discrete variables.