run' :: Integer -> TransitionFunc -> (InternalState, Tape) -> (Integer, [Alphabet])
run' n f (q, t)
	| label q == "END" = (n, current t : right t)
	| otherwise = run' (n + 1) f $ runTM f (q, t)
run' :: Integer -> TransitionFunc -> (InternalState, Tape) -> (Integer, [Alphabet])
run' n f (q, t)
	| label q == "END" = (n, current t : right t)
	| otherwise = run' (n + 1) f $ runTM f (q, t)
run' n f (q, t)
	| label q == "END" = (n, current t : right t)
	| otherwise = run' (n + 1) f $ runTM f (q, t)