Let me post a hint on L10 here -- it is ok to put some commands in the functions that do not always have an effect on all runs of the function (i.e., jump if nothing to jump, forward if forward is not legal); that trick can make functions much more re-usable. 189 commands.