Fix a number of tests
Implement then block for validation and type associativity

All 84 tests passed