unProg (Loop l) = do
	(dt, _, _, out) <- get
	case focus dt of
		0 -> return out
		otherwise -> runProg l >> runProg (Loop l)

runProg (Loop l) = do
	(dt, _, _, out) <- get
	case focus dt of
		0 -> return out
		otherwise -> runProg l >> runProg (Loop l)
runProg (Loop l) = do
	(dt, _, _, out) <- get
	case focus dt of
		0 -> return out
		otherwise -> runProg l >> runProg (Loop l)