Cetin Sert wrote: [snip] > colorR :: RandomGen g ⇒ (RGB,RGB) → g → (RGB,g) > colorR ((a,b,c),(x,y,z)) s0 = ((r,g,b),s3) > where > (r,s1) = q (a,x) s0 > (g,s2) = q (b,y) s1 > (b,s3) = q (c,z) s2 > q = randomR Look closely at how you use the variable 'b'. HTH, Bertram