got more working. don't know what exactly
fixed some substitution errors
fixed alpha substitution error for alpha fresh
tidied up code ot make it reflect the spec more
changed syntax in if expressions to more closely reflect spec
Last commit before major refactor. 54 tests working