- [x] defined the set of terminators - [ ] implemented function to check that every block ends in a terminator - [ ] every call to evaluate includes this check (similar to the single-assignment check)