Another rewrite. Evaluation/form building now works as I wanted it to (mostly anyway => atm the code that allows the loop to work is not really extensible).

Tab/Space indentation mix changes to all spaces.
Still want to split evaluation and form building.