Split alignment validation into a separate stage
Code generator produces results instead of throwing exceptions