Question: simple while loop explanation

I was playing around with loops and came up with this simple while loop that is reacting different than I am expecting

a:=rand(1..10):
while a() <> 4 do print(a()); od:

the output includes 4's ??

Please Wait...