pure functional Gibbs sampler (no "var"s)