@sladeiw - I added it in, with the check it takes about twice as long to run, but it still is faster than the other types:
Normal F/N: 0.127 seconds
Checked F/N: 0.232 seconds
D/L: 1.240 seconds
R/U: 0.921 seconds
W/EW: 0.937 seconds
EDIT: made a little benchmark, F/N versus D/L (the progress interval is the span at which the loops will print their progress, don't set it too high because even though F/N runs BEST at a high, D/L just can't keep up with it, the autostop is to stop the D/L when it reaches the value that F/N reached):
input "Progress Interval (ex. 10,20,300): ",inv
input "Autostop (1 or 0): ",stp
print "Just click to start the test, click again to go to the next text."
wait mouse
repeat
until mouseclick()=0
set text opaque
t=timer()
for x=0 to 1
inc n
inc b
if b=inv
b=0
text 0,75,str$(n)
sync
endif
x=0
if escapekey()=1 then end
if mouseclick()=1 then x=1
next x
s=timer()
stp1=n
text 0,90,"For/Next loop time taken: "+str$(s-t)
repeat
until mouseclick()=0
if stp=0
b=0
n=0
t=timer()
do
inc n
inc b
if b=inv
b=0
text 0,105,str$(n)
sync
endif
if mouseclick()=1 then exit
loop
s=timer()
else
b=0
n=0
t=timer()
do
inc n
inc b
if b=inv
b=0
text 0,105,str$(n)
sync
endif
if n=stp1 then exit
if mouseclick()=1 then exit
loop
s=timer()
endif
text 0,120,"Do/Loop time taken: "+str$(s-t)
wait mouse